GoogleカレンダーはWEBサイトに埋め込んで表示することが出来るのですが、いかにもGoogleといった見た目のウィジェットが埋め込まれるためサイトに馴染まない場合が多いです。埋め込み用のコードはカスタマイズが可能とはいえ、変更できるのは背景色だけなので多くの場合何の解決にもなりません。
この記事ではCSSとJavaScriptでGoogleカレンダーの見た目を変更する手順について記載します。最終的には上記画像のようなレベルでカスタマイズができます。
Contents
iframeのすり替えとCSSの差し込み
Googleカレンダーの埋め込み用コードはiframeを使用しています。この場合iframe内はGoogleのドメインなのでクロスドメインに該当し、iframe内から自サイトのドメインに存在するファイル(cssやjs)を参照することができません。
解決方法として、iframeで直接表示するのではなくPHPでGoogleカレンダーのソースを取得してheadにCSSファイルへのリンクを差し込み、それをiframe内で表示するようにします。
……そういう内容の記事がstackoverflowに投稿されているのでコードは下記リンクを参照してください。
これで基本的に問題ないのですが元々Googleのドメインで動作するはずだったカレンダーの生成コードが自サイトのドメインで動作するため、想定していないリンクが生成されます。具体的には「マイ カレンダーにコピー」のリンクが「https://自サイトのドメイン/calendar/event?action=~」になったりします。
なのでウェブサーバーでリダイレクションしてあげます。
JavaScriptの差し込み
JavaScriptもCSSと同様にヘッダを書き換える形で差し込んでいきます。ただ、Googleカレンダー本体はiframe内でJavaScriptにより動的に読み込まれるため、カレンダーの読み込み後にJavaScriptが動作するようします。
細々した事
予定リストの表示方法
埋め込み用のコードではデフォルトの表示形式を指定でき、カレンダー以外にも予定リストを表示することができます(URIにmode=AGENDAというクエリが付与される)。しかし前述したPHPによるfile_get_contents()だと予定リストが表示されず、Googleのログイン画面が表示されます。
そのため、デフォルトの表示形式として予定リストを指定する場合、カレンダーの読み込み後にカレンダーのヘッダ部にある予定リストのタブに設定されているイベントを発火させます。
他手法について
他にも色々なカスタマイズ法があるので一応調べたものについて所感を書きます。
gcalendar-wrapper.php
ググると真っ先に出てくると思いますが2018年5月現在、配布サイトのリンクが切れているような……あとカスタマイズできる箇所があまりないのかなという印象です。
FullCalendar
ググるのが足りなくて後から知りました。めちゃくちゃ高性能みたいなので本格的に触るのであればコレでいいのかもしれないですね。APIからのアクセスなので今回紹介した手法みたいに下品ではないです。
最後に
想定されていないGoogleカレンダーの使い方だと思うのでご利用は各自の責任でお願いします。
viagra sales online australia paypal buy viagra walgreen viagra cost per pill
buy viagra germany viagra no prescription fast shipping buy cheap viagra on line
best canadian online pharmacy indian pharmacy online the peoples pharmacy
canadian drug pharmacy ed medication best drugstore lipstick
the peoples pharmacy 24 hour pharmacy best drugstore eyeshadow
best canadian pharmacy canadian mail order pharmacy pharmacy near me
best drugstore bb cream nearest drug store erectile dysfunction pills
medicine for erectile rx express pharmacy mail order pharmacy
pharmacy best drugstore concealer canada pharmacy online
online canadian pharmacy ed pills online canadian pharmacy cialis
Google
Check beneath, are some entirely unrelated websites to ours, having said that, they’re most trustworthy sources that we use.
canadian drugs online pharmacies alternatives to viagra canadian pharmacy cialis
canadian mail order pharmacies online pharmacies canada cheap canadian drugs
pharmacy on line pharmacy canada prescription drugs without doctor approval
brand viagra pharmacy viagra in knoxville tn how much is viagra per pill
prescription prices comparison buy viagra pharmacy 100mg pharmacy online drugstore
allergy pharmacy cost comparison canada online pharmacy
online drugstore prescription drug assistance legitimate canadian mail order pharmacies
online pharmacy cialis cheap viagra cialis combo cialis daily price
generic viagra suppliers sydney viagra dapoxetine and viagra
best prices for cialis cialis 5 mg prontuario
cialis 100mg dosage formule chimique cialis
cialis for a 35 year old achat cialis sur internet combien de temps avant faut il prendre le cialis
viagra online without a prescription best price viagra 100mg buying viagra in ebay
cheap cialis in canada costo cialis ecuador
i need a payday loan with no checking account payday loan gresham or cash n advance poway
cialis dosage for recreational use cialis vs viagra best acheter cialis en toute securitГ©
payday loan missoula illinois payday loan consolidation moneysupermarket loan
payday help loan hawaii payday loans online quick cash online payday loans
viagra brand online sensitivity does generic viagra work viagra 150 mg
cash advance places in roanoke va payday loan finders cash loans carrollton ga
cialis in spain equivalent cialis homeopathie
cialis 20mg pills paypal cialis online cialis pay with paypal
Very nice quality article
free robux