私がしたい事はgoogle calendarをwebサイトに埋め込み、その中の要素にCSSを当てる事です。
そこで考えたのはその中の文字列を置換したいと考えています。
それをしたい理由はスマホでカレンダーを閲覧し、表示された予定をクリックした際に表示される吹き出しが width="400px"という指定があるために画面からはみ出してしまうのを防ぐためです。
下記該当箇所
<div style="display: none; z-index: 1001; width: 400px;" class="bubble">
まず、素人考えで、jqueryのreplaceを使って実現出来ないかと思っています。が上手く行きません。
私が試したコードは下記の通りです。
$(function(){ setTimeout(function(){ $('#calendarContainer1').each(function(){ var txt = $(this).html(); $(this).html(txt.replace(/width: 400px;/g,'width: 80%;')); }); },1000); });
settimeoutでカレンダーが読み込まれたであろう時間の後に発火というイメージです。
(ベストはカレンダーの読込みをトリガーとしてreplaceが出来れば、、とも思っていますが私には難し過ぎて断念。)
カレンダー以外の部分では置換が動作しているのでコード自体は問題無いのかな、、、とは思っているのですが、カレンダー内の部分では置換が行われていません。
そもそもiframeの中は置換が出来ないのしょうか、、
加えて、上記とは別で、iframeの中にcssを効かせる方法も調べて試しました
$("iframe").on("load",function(){ $("iframe").contents().find('.bubble').css("width","80%"); });
失敗です。原因は恐らくクロスドメインなのでダメ。
jqueryの知識ほとんど無く、検討外れな質問かもしれませんがどうぞ、お力添えお願い致します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/14 03:22