2016-07-23 3 views
0

音楽サイトを開発しています。サイトにはiframeとプレーヤのある親ページが含まれています。メニューがクリックされたとき、iframeのsrcはクリックされたメニュー項目に応じて変化します.1ページのiframeには音楽アイテムが含まれています。 iframeの中で音楽をクリックすると、その音楽をプレイリストに追加したい(親に含まれている)。 jQueryコードはFirefoxとInternet Explorerでは動作していますが、Chromeで動作しています。それはここFirefoxとIEでは動作しますが、Chromeでは動作しないiframe内のiframeから親コンテンツにアクセスします。

Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match. ...

...以下のエラーが私のコードは、これはフィッシング詐欺を停止することです

$('span[name=add]').click(function(){ 

    var song = $(this).attr("song"); 
    var cover = $(this).attr("cover"); 
    var artist = $(this).attr("artist"); 
    window.parent.$('#playlist').prepend('<li song="'+song+'" cover="'+cover+'"artist="'+artist+'">'+song+'</li>'); 
    window.parent.$('#playlist').trigger('change'); 

}); 

答えて

0

かなり確信しています。

以前はDOMを操作するためにこれを行っていませんでしたが、このエラーに遭遇したときにこのパターンが機能することがわかりました。

  1. 親ウィンドウで機能を作成します。
  2. iframeからの呼び出し関数。

例えば、この正確なコードはテストしていません。

window.newHtml = ""; 
window.setHtml = function() { 
    $('#someElement').html(window.newHtml); 
}; 

インラインフレーム

newHtml = "<p>yo!</p>"; 
setHtml(); 
関連する問題