私はウィジェットを書いています:JavaScriptをロードしてからiframeを埋め込むので、ウィジェットで問題なく、CSSの問題もなくjQueryサポートを取得できます。
ウィジェットは次のようなサイトに埋め込まれています。
<script type="text/javascript">
var _sid = '1';
(function() {
var se = document.createElement('script'); se.type = 'text/javascript'; se.async = true;
se.src = '//xxxxxxx.com/loader.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(se, s);
})();
</script>
私の中でloader.js
私はページに次のコードを書いています:
<div id="lHB" style="margin: 0px; padding: 0px; border: 0px; background-color: transparent; overflow: hidden; position: fixed; z-index: 10000001; display: block; right: 0px; bottom: 0px; height: 28px; width: 240px; background-position: initial initial; background-repeat: initial initial;" class="_FloatingButton">
<iframe id="_iframe" src="http://www.xxxxxxx.com/index.php" frameborder="0" style="background-color: #eee; vertical-align: text-bottom; overflow: hidden; position: relative; width: 100%; height: 100%; margin: 0px; z-index: 999999;">
</iframe>
</div>
私の内部でindex.php
は、ウィジェットのコンテンツを入力しています。これはjQueryを使用して行います。これをiframeからロードする理由は、CSSの問題やjQueryの競合が発生しないようにするためです。
index.phpには次のものが含まれています。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"></head>
<body>
<script type="text/javascript">
var _sid = '1';
(function() {
var se = document.createElement('script'); se.type = 'text/javascript'; se.async = true;
se.src = '//xxxxxxxxxx.com/hello.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(se, s);
})();
</script>
</body>
</html>
hello.js
ウィジェットのコンテンツをページに動的にロードしますindex.php
。すべてがうまく機能します。唯一の問題は次のとおりです。
height: 28px;
(ロードインloader.js
)をから変更したいhello.js
。私は見つけようとしました
$('#_iframe', window.parent.document).css('height', 220);
_iframe
しかし、それは:/を見つけられません
私が間違っていることについて何か考えはありますか?