JAvascript親ウィンドウiframeドメイン間操作サブ要素がサブドメイン下のfunctionをバインドできない解決策
詳細
要約的なタイトルが思いつかない場合は、ここで展開問題の説明と言います.
a.com下有
a.html
コードクリップ
a.js
a.jsには がある
b.comの に
b.html
コードクリップ
b.js
のコードは、b.comでb.jsがa.comである spanid バインドイベントを し、 のバインドaは bにバインドされている.
これでいいですか.
な えは:だめだ! のie 6,ie 7はattrのようなイベントバインドの き を めないからだ.
jqueryイベントにbind、live、delegateがバインドされていることについては、この を してください.http://www.jb51.net/article/27309.htm
のattrをbind、live、delegateの き に
さらにダメなので、この き に してどんなブラウザでもb()という はわかりません.
:
JAvascript iframeがドメインにまたがるときに ウィンドウがサブウィンドウを し、サブ をサブドメインにバインドするfunctionには できない があります.しかし、 のie 6、ie 7を しなければ、attrという を に うことができる.
:
ドメイン サブエレメントバインドサブメソッドはie 6,ie 7を することはできないが,iframe のサブエレメントの には であるため,spanidという を き えexampleを き える を えることができる.
要約的なタイトルが思いつかない場合は、ここで展開問題の説明と言います.
a.com下有
a.html
コードクリップ
...
a
...
a.js
a.jsには がある
function a(){}
function b(){}
b.comの に
b.html
コードクリップ
...
...
b.js
$jq(document).ready(function(){
example();
});
function example(){
$jq(window.frames["subiframe"].document).find("#spanid").removeAttr("onclick").unbind().attr("onclick","javascript:b();");
}
のコードは、b.comでb.jsがa.comである spanid バインドイベントを し、 のバインドaは bにバインドされている.
これでいいですか.
な えは:だめだ! のie 6,ie 7はattrのようなイベントバインドの き を めないからだ.
jqueryイベントにbind、live、delegateがバインドされていることについては、この を してください.http://www.jb51.net/article/27309.htm
のattrをbind、live、delegateの き に
$jq(window.frames["subiframe"].document).find("#spanid").removeAttr("onclick").unbind().bind("click",function(){b();});
さらにダメなので、この き に してどんなブラウザでもb()という はわかりません.
:
JAvascript iframeがドメインにまたがるときに ウィンドウがサブウィンドウを し、サブ をサブドメインにバインドするfunctionには できない があります.しかし、 のie 6、ie 7を しなければ、attrという を に うことができる.
:
ドメイン サブエレメントバインドサブメソッドはie 6,ie 7を することはできないが,iframe のサブエレメントの には であるため,spanidという を き えexampleを き える を えることができる.
function example(){
$jq(window.frames["subiframe"].document).find("#spanid").removeAttr("onclick").unbind();
$jq(window.frames["subiframe"].document).find("#divid").html('a');
}