2016-05-17 4 views
-1

私は特定のウェブサイトで時折実行する必要があるjavascriptのデバッグコードを持っています。特定のiframeにjavascriptのブックマークを使用

サイトには複数のiframeがあります。

私はChromeのデバッグコンソールを使用するときに、コードを実行するiFrameを選択できます。

コードjavascript:my_debug_code()でブックマークを作成しましたが、必要なiFrameで実行するにはどうすればよいですか?

編集

示唆されたので、これはInvoking JavaScript code in an iframe from the parent pageの複製ではありません。

私はページ自体からコードを実行しようとしていないので、

私の質問は違う - ブックマークからコードを実行したい。

マークされている質問が重複しているので、私は、新しい答えを投稿することができない

回答。

しかし、どうやらそれは私のために取ったすべては私のブックマークに追加することでした、@Gothdoの答えから撮影:

javascript:window.frames[0].my_debug_code() 
+0

'frameName.contentWindow.my_debug_code()'を使用してください。簡単な言葉で言えば、**セキュリティのために**不可能です。 –

答えて

1

あなたがこれを行うことができますが、IFRAMEは、メインウィンドウと同じ起源を持っていることを条件とします。単に新しいスクリプトを作成し、そのiframeの要素<head>に追加するだけです。

const code = "console.log('hello world from iframe', location.href)" 
    ,iframeName = "YOUR-IFRAME-NAME" 

const script = document.createElement("script") 
window.frames[iframeName].document.head.appendChild(script) 
script.src = "data:text/javascript;base64," + btoa(code) 
+0

私はこの答えから正解を見つけました。私はスクリプト全体を必要としませんでした。ちょうどwindows.frames [num]は私のためのトリックでした。 –

関連する問題