SlideShare a Scribd company logo
1 of 35
Download to read offline
自分達のサイボウズOffice を開発しよう 
~JavaScript によるカスタマイズ 
サイボウズ株式会社 
畑慎也
 はじめに 
 カスタマイズが必要な理由 
 カスタマイズ機能の概要 
 JavaScript によるカスタマイズ 
 カスタマイズ例の紹介 
 さいごに 
Agenda
 サイボウズOffice on cybozu.com の6月版で、 
JavaScript ファイルの読み込みが可能となりま 
した。 
 つまり、cybozu.com のユーザー自身が、 
JavaScript を使って、サイボウズOffice をカ 
スタマイズできるようになったということです。 
はじめに
カスタマイズが必要な理由
 本来、情報システムとは 
 会社の業務のあり方と密接に関わります。 
 情報システムの良さが競争力につながります。 
 サイボウズOffice のカスタマイズ 
 情報システムの一翼を担うサイボウズOffice 
 自社の業務に最適となるようにカスタマイズ 
できればGood 
情報システムとサイボウズOffice
 これまでも、Firefox のGreaseMonkey という拡張機能を使えば、 
任意のWebページに対しカスタマイズを行なえました。 
 エンドユーザーが自分のブラウザ上で設定する必要があります。 
 つまり、システム管理者がエンドユーザーに対してスクリプト 
ファイルを配布する必要があります。 
 サイボウズOffice on cybozu.com のJavaScript 読み込み機能で 
は、システム管理者が設定画面上で設定すれば、全エンドユーザー 
にカスタマイズを適用できます。 
全エンドユーザーへのカスタマイズ
 システム管理者にとって 
 システム管理者のみが設定可能 
 カスタマイズ(プログラミング)は楽しい! 
 良いカスタマイズを行うと、エンドユーザー 
に喜ばれる! 
 注意事項 
 「あれもして、これもして」と言われるかも 
しれません。 
システム管理者にとって
カスタマイズ機能の概要
 システム設定(詳細)> カスタマイズ> JavaScript ファイルの設定 
設定場所
設定画面
 システム設定画面 
 個人設定画面 
 運用管理画面 
 カスタマイズの不具合により、設定できなく 
なっては大変なので 
 これら以外の画面はカスタマイズ可能 
カスタマイズできない画面
 以下から適用する対象を選べます。 
 すべてのユーザー 
 システム管理者 
 適用しない 
 「システム管理者に適用」 
 エンドユーザーに適用する前に動作を確認するような場合 
 「適用しない」 
 読み込ませたJavaScriptファイルを削除はしないが、適用を一時 
的に停止したいような場合 
カスタマイズを適用する対象
JavaScript によるカスタマイズ
 前提として 
 HTML を理解している。 
 ブラウザのJavaScript を理解している。 
 JavaScript でコードを書いたことがある。 
 できれば 
 DOM操作を理解している。 
 jQuery ライブラリを使ったことがある。 
話の前提
 DOMについて 
 ページ内の情報を表すDOM(Document Object 
Model)と呼ばれるものにJavaScript からアクセスで 
きます。 
 このDOMを操作することによってページの内容を書き 
換えることができます。 
 例: 
var user = document.getElementById('user'); 
user.innerHTML = '<b>HATA</b>'; 
DOM操作によるカスタマイズ
 jQueryライブラリについて 
 DOM操作を容易にするJavaScript ライブラリ 
 10月版のサイボウズOffice on cybozu.com から、カ 
スタマイズ可能な画面では、あらかじめ読み込まれて 
います。 
 これから紹介するカスタマイズ例ではjQuery を使い 
ます。 
 例: 
$('#user').html('<b>HATA</b>'); 
jQuery ライブラリについて
カスタマイズ例の紹介
 問題: 
 ワークフローを承認・決裁する際、却下するつもりが 
誤って承認・決裁してしまう場合がある。 
 解決方法: 
 承認・決裁のボタンをクリックした後、念押しとして 
確認ダイアログを表示し、キャンセルできるようにす 
る。 
ワークフローの承認の前に確認ダイアログを表示
$(document).ready(function () { 
switch(CustomizeJS.page) { // 現在表示中のページ名 
case 'WorkFlowHandle': 
$('input[name="Approve"]').click(function () { 
var caption = $(this).val(); 
if (caption.indexOf('決裁') >= 0) { 
return confirm('決裁します。よろしいですか?'); 
} else { 
return confirm('承認します。よろしいですか?'); 
} 
}); 
break; 
} 
}); 
ワークフローの承認の前に確認ダイアログを表示
 jQuery を使う場合$(document).ready(function () {...}) に記述 
した内容が、ページを読み込んだ後に実行されます。 
 CustomizeJS.page という変数に現在表示中のページ名が格納され 
ています。 
 ブラウザで「ページのソースを表示」して確認できます。 
カスタマイズに際して 
<script> 
CustomizeJS = { 
page: 'WorkFlowHandle', 
ver: '1347960687' 
}; 
</script> 
<script src="ag.cgi/script.js?page=OfficeJSDownload&notimecard=1&ct=1&_v=1347960687">...
 問題: 
 サイボウズOffice 内へのリンクを本文やフォローに貼り付ける 
ことはよくあると思います。 
 パッケージ版のサイボウズOffice からcybozu.com に移行した 
場合、移行前に掲示板やメッセージの本文やフォローに書かれた 
Office 内へのリンクがリンク切れとなる。 
 例:http://example.jp/scripts/cb8/ag.exe?... 
 解決方法: 
 http://example.jp/scripts/cb8/ag.exe で始まるURLを 
https://example.cybozu.com/o/ag.cgi?... に置換する。 
cybozu.com 移行前のOffice へのリンクを置換
$(document).ready(function () { 
$('a[href^="http://example.jp/scripts/cb8/ag.exe"]') 
.each(function () { 
this.href = this.href.replace( 
'http://example.jp/scripts/cb8/ag.exe', 
'https://example.cybozu.com/o/ag.cgi'); 
}); 
}); 
cybozu.com 移行前のOffice へのリンクを置換 
• $('a[href^="URL"']) でURL で始まる全てのリンクを取得します。 
• .each(function () {...}) で、取得した全てのリンクに対する処 
理を記述できます。 
• this.href = this.href.replace() でURLを置換しています。
 問題: 
 cybozu.com ではユーザー情報にプロフィール画像を 
登録できる。 
 しかし、掲示板やメッセージで表示されるプロフィー 
ル画像は小さくて見えずらい。 
 解決方法: 
 表示されているプロフィール画像(20x20)を32x32に 
拡大する。 
プロフィール画像を拡大
switch(CustomizeJS.page) { // 現在表示中のページ名 
: 
case 'BulletinView': 
case 'MyFolderMessageView': 
$('img.profileImage[src*="20x20"]').each(function () { 
var src = $(this).attr('src') 
.replace('20x20', '32x32') 
.replace('Width=20', 'Width=32') 
.replace('Height=20', 'Height=32'); 
$(this).attr('src',src) 
.css('width', '32px').css('height', '32px'); 
}); 
break; 
} 
プロフィール画像を拡大
 プロフィール画像のリンクにはclass="profileImage" 属性がつい 
ているため、$('img.profileImage[src*="20x20"]') で取得できま 
す。 
 掲示板・メッセージの画面で表示されているプロフィール画像の 
URL 
 ag.cgi/20x20.png?page=UserImageDownload&notimecard 
=1&id=156&ct=1&v=1347517804&Width=20&Height=20 
&ext=.png 
 画像サイズを指定している「20」を「32」に置換すれば、 
32x32のプロフィール画像に置き換わります。 
プロフィール画像を拡大
 要望: 
 掲示板やメッセージの本文やフォローにYouTube の 
動画へのリンクがあるとき、インライン表示して、画 
面遷移せずに動画を再生させたい。 
YouTube の動画をインライン表示
switch(CustomizeJS.page) { // 現在表示中のページ名 
: 
case 'BulletinView': 
case 'MyFolderMessageView': 
$('tt').find('a[href^="http://www.youtube.com/watch?v="],a[href^=" 
https://www.youtube.com/watch?v="]') 
.each(function () { 
var html = '<div><iframe width="420" height="315" src="' 
+ htmlEscape(this.href) 
.replace('http://', 'https://') 
.replace('watch?v=', 'embed/') 
+ '" frameborder="0" alllowfullscreen></iframe></div>'; 
$(this).after(html); 
}); 
break; 
} 
YouTube の動画をインライン表示
 $('tt') で本文やフォローの要素を取得します。 
 .find('a[href^="http://www.youtube.com/watch?v="], 
a[href^="https://www.youtube.com/watch?v="]') で 
YouTube へのリンクを絞り込みます。 
 $(this).after(html) でリンク直下にYouTube の動画 
をIFRAME で埋め込みます。 
YouTube の動画をインライン表示
 要望: 
 社内にある別のシステムの個人ページへのリンクを、 
cybozu.com のヘッダの個人メニューに追加したい。 
ヘッダの個人メニューにリンクを追加
var html = 
'<li class="yuimenuitem"><a class="yuimenuitemlabel"' 
+ ' href="http://example.jp/user">個人情報</a></li>'; 
$('.vr_headerPersonalSettings').parent().after(html); 
ヘッダの個人メニューにリンクを追加 
 $('.vr_headerPersonalSettings') で「個人設定」リンクを取 
得します。 
 .parent() で「個人設定」の親となるLI 要素を取得します。 
 この要素の直後にLI 要素で囲ったリンクを追加します。
 要望: 
 cybozu.com のヘッダの「メニュー」とヘッダ直下の 
アプリケーションメニューの内容が同じなので、「メ 
ニュー」の方を非表示にしたい。 
ヘッダの「メニュー」を非表示
$('#header-menu-application').hide(); 
ヘッダの「メニュー」を非表示 
 $('#header-menu-application') で「メニュー」要素を 
取得します。 
 .hide() を呼んで非表示にします。
ソースコードのシンタックスハイライト
カスタマイズ設定ダイアログ
 ブログ:コード置場 
http://hatashinya.blogspot.com/ 
にてカスタマイズ例を公開しています。 
 本日紹介したコードは10月版に対応しています。 
6月版に対応させる場合、別途jQuery を読み込 
む必要があります。 
さいごに

More Related Content

What's hot

サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめYasuhiro Mawarimichi
 
NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)CLOUDIAN KK
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本Sho Okada
 
Piramida skojarzeń. rozwiązywanie problemów ćwiczenie
Piramida skojarzeń. rozwiązywanie problemów   ćwiczeniePiramida skojarzeń. rozwiązywanie problemów   ćwiczenie
Piramida skojarzeń. rozwiązywanie problemów ćwiczenieCentres-EU
 
俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service EnvironmentSunao Tomita
 
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロAmazon Web Services Japan
 
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報Dai Matsui
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~Fujio Kojima
 
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit GuardIT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit GuardTAKUYA OHTA
 
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編abend_cve_9999_0001
 
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン kintone on EKS ― EKS で実現するインフラ自動構築パイプライン
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン Yusuke Nojima
 
Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理Yutaro Tamai
 
50 fantastic free tools for startups
50 fantastic free tools for startups50 fantastic free tools for startups
50 fantastic free tools for startupsInvestor Pitch Clinic
 
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)AknietUtemuratova
 
Tworzenie efektywnych programów szkoleniowych
Tworzenie efektywnych programów szkoleniowychTworzenie efektywnych programów szkoleniowych
Tworzenie efektywnych programów szkoleniowychRafał Szewczak
 
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~Michio Koyama
 

What's hot (20)

JSON SchemaとPHP
JSON SchemaとPHPJSON SchemaとPHP
JSON SchemaとPHP
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 
NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)NOSQLの基礎知識(講義資料)
NOSQLの基礎知識(講義資料)
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
 
Piramida skojarzeń. rozwiązywanie problemów ćwiczenie
Piramida skojarzeń. rozwiązywanie problemów   ćwiczeniePiramida skojarzeń. rozwiązywanie problemów   ćwiczenie
Piramida skojarzeń. rozwiązywanie problemów ćwiczenie
 
俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment
 
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
 
私がなぜZscalerに?
私がなぜZscalerに?私がなぜZscalerに?
私がなぜZscalerに?
 
CDN and WAF
CDN and WAFCDN and WAF
CDN and WAF
 
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報
EMS 勉強会 第1回 Autopilot 祭り - Autopilot 最新情報
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit GuardIT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
 
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編
 
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン kintone on EKS ― EKS で実現するインフラ自動構築パイプライン
kintone on EKS ― EKS で実現するインフラ自動構築パイプライン
 
Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理
 
50 fantastic free tools for startups
50 fantastic free tools for startups50 fantastic free tools for startups
50 fantastic free tools for startups
 
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)
дәріс 3. бұлттық есептеу қызметтерінің негізгі түрлері (saa s, paas, iaas)
 
Azure Data Explorer
Azure Data ExplorerAzure Data Explorer
Azure Data Explorer
 
Tworzenie efektywnych programów szkoleniowych
Tworzenie efektywnych programów szkoleniowychTworzenie efektywnych programów szkoleniowych
Tworzenie efektywnych programów szkoleniowych
 
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
Active Directoryドメインを作ってみよう ~フォレストに新しいツリーのドメインを追加~
 

Viewers also liked

サイボウズ Office 新機能 「カスタムアプリ」を使いこなそう
サイボウズ Office 新機能 「カスタムアプリ」を使いこなそうサイボウズ Office 新機能 「カスタムアプリ」を使いこなそう
サイボウズ Office 新機能 「カスタムアプリ」を使いこなそうCybozucommunity
 
自分達のサイボウズ Office を開発しよう
自分達のサイボウズ Office を開発しよう自分達のサイボウズ Office を開発しよう
自分達のサイボウズ Office を開発しようShinya Hata
 
「サイボウズ Office9.3」新機能のご紹介
「サイボウズ Office9.3」新機能のご紹介「サイボウズ Office9.3」新機能のご紹介
「サイボウズ Office9.3」新機能のご紹介Cybozucommunity
 
サイボウズライブでもHubotがしたい!
サイボウズライブでもHubotがしたい!サイボウズライブでもHubotがしたい!
サイボウズライブでもHubotがしたい!NAKAOKU Takahiro
 
管理権限とアクセス権(クラウド版)
管理権限とアクセス権(クラウド版)管理権限とアクセス権(クラウド版)
管理権限とアクセス権(クラウド版)Cybozucommunity
 
管理権限とアクセス権(パッケージ版)
管理権限とアクセス権(パッケージ版)管理権限とアクセス権(パッケージ版)
管理権限とアクセス権(パッケージ版)Cybozucommunity
 
各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)Cybozucommunity
 
各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)Cybozucommunity
 

Viewers also liked (8)

サイボウズ Office 新機能 「カスタムアプリ」を使いこなそう
サイボウズ Office 新機能 「カスタムアプリ」を使いこなそうサイボウズ Office 新機能 「カスタムアプリ」を使いこなそう
サイボウズ Office 新機能 「カスタムアプリ」を使いこなそう
 
自分達のサイボウズ Office を開発しよう
自分達のサイボウズ Office を開発しよう自分達のサイボウズ Office を開発しよう
自分達のサイボウズ Office を開発しよう
 
「サイボウズ Office9.3」新機能のご紹介
「サイボウズ Office9.3」新機能のご紹介「サイボウズ Office9.3」新機能のご紹介
「サイボウズ Office9.3」新機能のご紹介
 
サイボウズライブでもHubotがしたい!
サイボウズライブでもHubotがしたい!サイボウズライブでもHubotがしたい!
サイボウズライブでもHubotがしたい!
 
管理権限とアクセス権(クラウド版)
管理権限とアクセス権(クラウド版)管理権限とアクセス権(クラウド版)
管理権限とアクセス権(クラウド版)
 
管理権限とアクセス権(パッケージ版)
管理権限とアクセス権(パッケージ版)管理権限とアクセス権(パッケージ版)
管理権限とアクセス権(パッケージ版)
 
各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)各アプリケーションの概要(クラウド版)
各アプリケーションの概要(クラウド版)
 
各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)各アプリケーションの概要(パッケージ版)
各アプリケーションの概要(パッケージ版)
 

Similar to 自分達のサイボウズ office-を開発しよう

シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26Yu Ito
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121Shohei Aoyama
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121Shohei Aoyama
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理政雄 金森
 
Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドHirotada Watanabe
 
introduce of alfasado web integration division
introduce of alfasado web integration divisionintroduce of alfasado web integration division
introduce of alfasado web integration divisionatamaitakunai
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsSeiko Kuchida
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Yasuhito Yabe
 
[簡易提案書]働き方改革にMSインフラストラクチャー
[簡易提案書]働き方改革にMSインフラストラクチャー[簡易提案書]働き方改革にMSインフラストラクチャー
[簡易提案書]働き方改革にMSインフラストラクチャーToshihiko Sawaki
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介Kenji Funasaki
 
Jawsdays2021 Amazon Connect愛について語り尽くす
Jawsdays2021 Amazon Connect愛について語り尽くすJawsdays2021 Amazon Connect愛について語り尽くす
Jawsdays2021 Amazon Connect愛について語り尽くすShinya Yamada
 
12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッションKei Nakazawa
 
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)Takashi Uemura
 
ユーザ目線の実践的BPM
ユーザ目線の実践的BPMユーザ目線の実践的BPM
ユーザ目線の実践的BPMShigeaki Wakizaka
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8Hirokazu Ouchi
 
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発Tusyoshi Matsuzaki
 
kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介Ryo Mitoma
 
API Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップAPI Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップCA Technologies
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6masaaki komori
 

Similar to 自分達のサイボウズ office-を開発しよう (20)

シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121
 
Prejob wordpress v2_1121
Prejob wordpress v2_1121Prejob wordpress v2_1121
Prejob wordpress v2_1121
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
 
Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウド
 
introduce of alfasado web integration division
introduce of alfasado web integration divisionintroduce of alfasado web integration division
introduce of alfasado web integration division
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cms
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
20061007.saas
20061007.saas20061007.saas
20061007.saas
 
[簡易提案書]働き方改革にMSインフラストラクチャー
[簡易提案書]働き方改革にMSインフラストラクチャー[簡易提案書]働き方改革にMSインフラストラクチャー
[簡易提案書]働き方改革にMSインフラストラクチャー
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
 
Jawsdays2021 Amazon Connect愛について語り尽くす
Jawsdays2021 Amazon Connect愛について語り尽くすJawsdays2021 Amazon Connect愛について語り尽くす
Jawsdays2021 Amazon Connect愛について語り尽くす
 
12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション12.09.08 明星和楽2012 KLabハンズオンセッション
12.09.08 明星和楽2012 KLabハンズオンセッション
 
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
 
ユーザ目線の実践的BPM
ユーザ目線の実践的BPMユーザ目線の実践的BPM
ユーザ目線の実践的BPM
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
 
SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発SharePoint 2010 を使ったクラウドアプリ開発
SharePoint 2010 を使ったクラウドアプリ開発
 
kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介kintone のレコード絞り込み置き換え事例の紹介
kintone のレコード絞り込み置き換え事例の紹介
 
API Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップAPI Academy:マイクロサービス化へのファーストステップ
API Academy:マイクロサービス化へのファーストステップ
 
WordBench Saitama vol.6
WordBench Saitama vol.6WordBench Saitama vol.6
WordBench Saitama vol.6
 

More from Cybozucommunity

kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜
kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜
kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜Cybozucommunity
 
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏Cybozucommunity
 
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語Cybozucommunity
 
k i n t o n e で 「はやく・安く・高品質」な業務改革
k i n t o n e で 「はやく・安く・高品質」な業務改革k i n t o n e で 「はやく・安く・高品質」な業務改革
k i n t o n e で 「はやく・安く・高品質」な業務改革Cybozucommunity
 
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話Cybozucommunity
 
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022Cybozucommunity
 
「仲間のために」という想いが、kintone全社活用につながった。
「仲間のために」という想いが、kintone全社活用につながった。「仲間のために」という想いが、kintone全社活用につながった。
「仲間のために」という想いが、kintone全社活用につながった。Cybozucommunity
 
「ツールのために仕事をする」のはもうやめました
「ツールのために仕事をする」のはもうやめました「ツールのために仕事をする」のはもうやめました
「ツールのために仕事をする」のはもうやめましたCybozucommunity
 
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-育ち盛りの7年目 -愛されるkintoneのはぐくみ方-
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-Cybozucommunity
 
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜Cybozucommunity
 
サンタクロースの仕事を変えたkintone活用事例
サンタクロースの仕事を変えたkintone活用事例サンタクロースの仕事を変えたkintone活用事例
サンタクロースの仕事を変えたkintone活用事例Cybozucommunity
 
高田工業所はcybozuになれるのか?
高田工業所はcybozuになれるのか?高田工業所はcybozuになれるのか?
高田工業所はcybozuになれるのか?Cybozucommunity
 
120年の老舗企業がkintoneを出会って大改革できた話
120年の老舗企業がkintoneを出会って大改革できた話120年の老舗企業がkintoneを出会って大改革できた話
120年の老舗企業がkintoneを出会って大改革できた話Cybozucommunity
 
Let’s make our business DRY kintone - RPA連携で業務自動化
Let’s make our business DRY kintone - RPA連携で業務自動化Let’s make our business DRY kintone - RPA連携で業務自動化
Let’s make our business DRY kintone - RPA連携で業務自動化Cybozucommunity
 
九州の鉄工所がkintoneとTwitterでノリノリになった話
九州の鉄工所がkintoneとTwitterでノリノリになった話九州の鉄工所がkintoneとTwitterでノリノリになった話
九州の鉄工所がkintoneとTwitterでノリノリになった話Cybozucommunity
 
全社員で利用する過程で学んだこと
全社員で利用する過程で学んだこと全社員で利用する過程で学んだこと
全社員で利用する過程で学んだことCybozucommunity
 
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜Cybozucommunity
 
“自分ゴト”の業務改善を
“自分ゴト”の業務改善を“自分ゴト”の業務改善を
“自分ゴト”の業務改善をCybozucommunity
 
kintone活用は続くよ どこまでも
kintone活用は続くよ どこまでもkintone活用は続くよ どこまでも
kintone活用は続くよ どこまでもCybozucommunity
 

More from Cybozucommunity (20)

kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜
kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜
kintoneで「おすそわけ」DX 〜お坊さんと学生が社会課題を解決〜
 
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏
現場と情シスが全力で駆け抜けた1160日 コロナ対応の舞台裏
 
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語
\現場にフィットさせろ!/ 業務部門とシステム部門 の ハナサカ物語
 
k i n t o n e で 「はやく・安く・高品質」な業務改革
k i n t o n e で 「はやく・安く・高品質」な業務改革k i n t o n e で 「はやく・安く・高品質」な業務改革
k i n t o n e で 「はやく・安く・高品質」な業務改革
 
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話
体育会系 非IT 未経験経理が 順風満帆な kintoneライフを送る話
 
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022
【セッション資料】サイボウズのチームリーダーと学ぶ、チーム作りの舞台裏_Cybozu Days 2022
 
「仲間のために」という想いが、kintone全社活用につながった。
「仲間のために」という想いが、kintone全社活用につながった。「仲間のために」という想いが、kintone全社活用につながった。
「仲間のために」という想いが、kintone全社活用につながった。
 
「ツールのために仕事をする」のはもうやめました
「ツールのために仕事をする」のはもうやめました「ツールのために仕事をする」のはもうやめました
「ツールのために仕事をする」のはもうやめました
 
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-育ち盛りの7年目 -愛されるkintoneのはぐくみ方-
育ち盛りの7年目 -愛されるkintoneのはぐくみ方-
 
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
kintone + 外部サービス連携で活かし方無限大!〜社員全員で実現したDX〜
 
サンタクロースの仕事を変えたkintone活用事例
サンタクロースの仕事を変えたkintone活用事例サンタクロースの仕事を変えたkintone活用事例
サンタクロースの仕事を変えたkintone活用事例
 
高田工業所はcybozuになれるのか?
高田工業所はcybozuになれるのか?高田工業所はcybozuになれるのか?
高田工業所はcybozuになれるのか?
 
kintone evangelist 0720
kintone evangelist 0720kintone evangelist 0720
kintone evangelist 0720
 
120年の老舗企業がkintoneを出会って大改革できた話
120年の老舗企業がkintoneを出会って大改革できた話120年の老舗企業がkintoneを出会って大改革できた話
120年の老舗企業がkintoneを出会って大改革できた話
 
Let’s make our business DRY kintone - RPA連携で業務自動化
Let’s make our business DRY kintone - RPA連携で業務自動化Let’s make our business DRY kintone - RPA連携で業務自動化
Let’s make our business DRY kintone - RPA連携で業務自動化
 
九州の鉄工所がkintoneとTwitterでノリノリになった話
九州の鉄工所がkintoneとTwitterでノリノリになった話九州の鉄工所がkintoneとTwitterでノリノリになった話
九州の鉄工所がkintoneとTwitterでノリノリになった話
 
全社員で利用する過程で学んだこと
全社員で利用する過程で学んだこと全社員で利用する過程で学んだこと
全社員で利用する過程で学んだこと
 
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜
チームの改善 → 会社の改善風土づくりへ 〜社内展開に悩んだら〜
 
“自分ゴト”の業務改善を
“自分ゴト”の業務改善を“自分ゴト”の業務改善を
“自分ゴト”の業務改善を
 
kintone活用は続くよ どこまでも
kintone活用は続くよ どこまでもkintone活用は続くよ どこまでも
kintone活用は続くよ どこまでも
 

自分達のサイボウズ office-を開発しよう

  • 1. 自分達のサイボウズOffice を開発しよう ~JavaScript によるカスタマイズ サイボウズ株式会社 畑慎也
  • 2.  はじめに  カスタマイズが必要な理由  カスタマイズ機能の概要  JavaScript によるカスタマイズ  カスタマイズ例の紹介  さいごに Agenda
  • 3.  サイボウズOffice on cybozu.com の6月版で、 JavaScript ファイルの読み込みが可能となりま した。  つまり、cybozu.com のユーザー自身が、 JavaScript を使って、サイボウズOffice をカ スタマイズできるようになったということです。 はじめに
  • 5.  本来、情報システムとは  会社の業務のあり方と密接に関わります。  情報システムの良さが競争力につながります。  サイボウズOffice のカスタマイズ  情報システムの一翼を担うサイボウズOffice  自社の業務に最適となるようにカスタマイズ できればGood 情報システムとサイボウズOffice
  • 6.  これまでも、Firefox のGreaseMonkey という拡張機能を使えば、 任意のWebページに対しカスタマイズを行なえました。  エンドユーザーが自分のブラウザ上で設定する必要があります。  つまり、システム管理者がエンドユーザーに対してスクリプト ファイルを配布する必要があります。  サイボウズOffice on cybozu.com のJavaScript 読み込み機能で は、システム管理者が設定画面上で設定すれば、全エンドユーザー にカスタマイズを適用できます。 全エンドユーザーへのカスタマイズ
  • 7.  システム管理者にとって  システム管理者のみが設定可能  カスタマイズ(プログラミング)は楽しい!  良いカスタマイズを行うと、エンドユーザー に喜ばれる!  注意事項  「あれもして、これもして」と言われるかも しれません。 システム管理者にとって
  • 9.  システム設定(詳細)> カスタマイズ> JavaScript ファイルの設定 設定場所
  • 11.  システム設定画面  個人設定画面  運用管理画面  カスタマイズの不具合により、設定できなく なっては大変なので  これら以外の画面はカスタマイズ可能 カスタマイズできない画面
  • 12.  以下から適用する対象を選べます。  すべてのユーザー  システム管理者  適用しない  「システム管理者に適用」  エンドユーザーに適用する前に動作を確認するような場合  「適用しない」  読み込ませたJavaScriptファイルを削除はしないが、適用を一時 的に停止したいような場合 カスタマイズを適用する対象
  • 14.  前提として  HTML を理解している。  ブラウザのJavaScript を理解している。  JavaScript でコードを書いたことがある。  できれば  DOM操作を理解している。  jQuery ライブラリを使ったことがある。 話の前提
  • 15.  DOMについて  ページ内の情報を表すDOM(Document Object Model)と呼ばれるものにJavaScript からアクセスで きます。  このDOMを操作することによってページの内容を書き 換えることができます。  例: var user = document.getElementById('user'); user.innerHTML = '<b>HATA</b>'; DOM操作によるカスタマイズ
  • 16.  jQueryライブラリについて  DOM操作を容易にするJavaScript ライブラリ  10月版のサイボウズOffice on cybozu.com から、カ スタマイズ可能な画面では、あらかじめ読み込まれて います。  これから紹介するカスタマイズ例ではjQuery を使い ます。  例: $('#user').html('<b>HATA</b>'); jQuery ライブラリについて
  • 18.  問題:  ワークフローを承認・決裁する際、却下するつもりが 誤って承認・決裁してしまう場合がある。  解決方法:  承認・決裁のボタンをクリックした後、念押しとして 確認ダイアログを表示し、キャンセルできるようにす る。 ワークフローの承認の前に確認ダイアログを表示
  • 19. $(document).ready(function () { switch(CustomizeJS.page) { // 現在表示中のページ名 case 'WorkFlowHandle': $('input[name="Approve"]').click(function () { var caption = $(this).val(); if (caption.indexOf('決裁') >= 0) { return confirm('決裁します。よろしいですか?'); } else { return confirm('承認します。よろしいですか?'); } }); break; } }); ワークフローの承認の前に確認ダイアログを表示
  • 20.  jQuery を使う場合$(document).ready(function () {...}) に記述 した内容が、ページを読み込んだ後に実行されます。  CustomizeJS.page という変数に現在表示中のページ名が格納され ています。  ブラウザで「ページのソースを表示」して確認できます。 カスタマイズに際して <script> CustomizeJS = { page: 'WorkFlowHandle', ver: '1347960687' }; </script> <script src="ag.cgi/script.js?page=OfficeJSDownload&notimecard=1&ct=1&_v=1347960687">...
  • 21.  問題:  サイボウズOffice 内へのリンクを本文やフォローに貼り付ける ことはよくあると思います。  パッケージ版のサイボウズOffice からcybozu.com に移行した 場合、移行前に掲示板やメッセージの本文やフォローに書かれた Office 内へのリンクがリンク切れとなる。  例:http://example.jp/scripts/cb8/ag.exe?...  解決方法:  http://example.jp/scripts/cb8/ag.exe で始まるURLを https://example.cybozu.com/o/ag.cgi?... に置換する。 cybozu.com 移行前のOffice へのリンクを置換
  • 22. $(document).ready(function () { $('a[href^="http://example.jp/scripts/cb8/ag.exe"]') .each(function () { this.href = this.href.replace( 'http://example.jp/scripts/cb8/ag.exe', 'https://example.cybozu.com/o/ag.cgi'); }); }); cybozu.com 移行前のOffice へのリンクを置換 • $('a[href^="URL"']) でURL で始まる全てのリンクを取得します。 • .each(function () {...}) で、取得した全てのリンクに対する処 理を記述できます。 • this.href = this.href.replace() でURLを置換しています。
  • 23.  問題:  cybozu.com ではユーザー情報にプロフィール画像を 登録できる。  しかし、掲示板やメッセージで表示されるプロフィー ル画像は小さくて見えずらい。  解決方法:  表示されているプロフィール画像(20x20)を32x32に 拡大する。 プロフィール画像を拡大
  • 24. switch(CustomizeJS.page) { // 現在表示中のページ名 : case 'BulletinView': case 'MyFolderMessageView': $('img.profileImage[src*="20x20"]').each(function () { var src = $(this).attr('src') .replace('20x20', '32x32') .replace('Width=20', 'Width=32') .replace('Height=20', 'Height=32'); $(this).attr('src',src) .css('width', '32px').css('height', '32px'); }); break; } プロフィール画像を拡大
  • 25.  プロフィール画像のリンクにはclass="profileImage" 属性がつい ているため、$('img.profileImage[src*="20x20"]') で取得できま す。  掲示板・メッセージの画面で表示されているプロフィール画像の URL  ag.cgi/20x20.png?page=UserImageDownload&notimecard =1&id=156&ct=1&v=1347517804&Width=20&Height=20 &ext=.png  画像サイズを指定している「20」を「32」に置換すれば、 32x32のプロフィール画像に置き換わります。 プロフィール画像を拡大
  • 26.  要望:  掲示板やメッセージの本文やフォローにYouTube の 動画へのリンクがあるとき、インライン表示して、画 面遷移せずに動画を再生させたい。 YouTube の動画をインライン表示
  • 27. switch(CustomizeJS.page) { // 現在表示中のページ名 : case 'BulletinView': case 'MyFolderMessageView': $('tt').find('a[href^="http://www.youtube.com/watch?v="],a[href^=" https://www.youtube.com/watch?v="]') .each(function () { var html = '<div><iframe width="420" height="315" src="' + htmlEscape(this.href) .replace('http://', 'https://') .replace('watch?v=', 'embed/') + '" frameborder="0" alllowfullscreen></iframe></div>'; $(this).after(html); }); break; } YouTube の動画をインライン表示
  • 28.  $('tt') で本文やフォローの要素を取得します。  .find('a[href^="http://www.youtube.com/watch?v="], a[href^="https://www.youtube.com/watch?v="]') で YouTube へのリンクを絞り込みます。  $(this).after(html) でリンク直下にYouTube の動画 をIFRAME で埋め込みます。 YouTube の動画をインライン表示
  • 29.  要望:  社内にある別のシステムの個人ページへのリンクを、 cybozu.com のヘッダの個人メニューに追加したい。 ヘッダの個人メニューにリンクを追加
  • 30. var html = '<li class="yuimenuitem"><a class="yuimenuitemlabel"' + ' href="http://example.jp/user">個人情報</a></li>'; $('.vr_headerPersonalSettings').parent().after(html); ヘッダの個人メニューにリンクを追加  $('.vr_headerPersonalSettings') で「個人設定」リンクを取 得します。  .parent() で「個人設定」の親となるLI 要素を取得します。  この要素の直後にLI 要素で囲ったリンクを追加します。
  • 31.  要望:  cybozu.com のヘッダの「メニュー」とヘッダ直下の アプリケーションメニューの内容が同じなので、「メ ニュー」の方を非表示にしたい。 ヘッダの「メニュー」を非表示
  • 32. $('#header-menu-application').hide(); ヘッダの「メニュー」を非表示  $('#header-menu-application') で「メニュー」要素を 取得します。  .hide() を呼んで非表示にします。
  • 35.  ブログ:コード置場 http://hatashinya.blogspot.com/ にてカスタマイズ例を公開しています。  本日紹介したコードは10月版に対応しています。 6月版に対応させる場合、別途jQuery を読み込 む必要があります。 さいごに