2017-03-13 5 views
-1

私は別のドメインからのリンクを含むリストを読み込むiframeを持っていますが、リンクのアドレスは変更したくありませんが、以下のようにonclick関数を得るように変更したいと思います。 これはまったく可能ですか?iframeのリンクを関数で開くにはどうすればいいですか?

iframe内のリンクは次のようになります。

<div class="flip-entry" id="entry-1ERKvXXUHZHYAA9JLoOz4aau7Y0rTc14h2HucC0CulAM" tabindex="0" role="link"> 
<div class="flip-entry-info"> 
<a href="https://docs.google.com/drawings/d/1ERKvXXUHZHYAA9JLoOz4aau7Y0rTc14h2HucC0CulAM/edit?usp=drive_web" target="_blank"> 
<div class="flip-entry-title">Drawings demo</div> 
</a> 
</div> 
</div> 

iframeのすべてのリンクを次のように変更したいと考えています。

<a href="#" onclick="openInAppBrowser('https://docs.google.com/drawings/d/1ERKvXXUHZHYAA9JLoOz4aau7Y0rTc14h2HucC0CulAM/edit?usp=drive_web');"> 

私はjavascriptでこれを最初に行いたいが、jQueryでもできる。

ありがとうございました!

答えて

1

iframeを制御できる場合は、iframe内でJavaScriptを直接追加できます。コントロールはなく、ドメイン内にある場合は、iframeを含む親からJavaScriptを実行できます。他のドメインの場合は、何もすることはできませんit violates browser security

私はこのスニペットで行くよ:あなたはリンクが、この場合には、IFRAMEのドキュメントを作業する文書であることをdocument.querySelectorAll("a");ニーズの

var opena = function(event) { 
    openInAppBrowser(this.href); 
    event.preventDefault(); 
    return false; // For jQuery, just in case 
}; 
var as = document.querySelectorAll("a"); 
for (var i = 0, a; a = as[i]; i++) { 
    a.addEventListener("click", opena); 
} 

document。 iframeドキュメントにアクセスする方法はたくさんあります。コードに適したものを使用してください。HTML: Getting document from IFrame

+0

ありがとうございます。私はiframeをコントロールしています、それは私のドメインにありますが、私がロードするページではありません。私はあなたの提案をテストする必要があります。 –

+0

あなたは何もすることはできません。 iframeのコントロールを意味するときは、iframeの内容(読み込んだページ)を意味します。ブラウザは、セキュリティ上の理由からこれを防ぎます。あなたのページがdomain.comであり、domain2.comと一致するiframeをロードしている場合、ドメインは異なるため、セキュリティポリシーが起動します。 –

+0

@ClaesGustavssonはあなたに通知するためにあなたにタグを忘れてしまった。 –

関連する問題