0

我想把一個keydown偵聽器放在我的頁面上。但是,我的頁面包含一個iFrame,如果我在iFrame內部單擊並推送我的密鑰,則處理程序不會觸發。我已經嘗試過來自網絡的各種公式來訪問iFrame中的文檔,並在其上放置了一個監聽器,但它似乎不起作用。如果原點不同,您是否可以聽取幀內的關鍵事件?

文檔中的內容來自不同的來源。它來自我網站的另一個域。

我可以聽keydown事件嗎?或者這是不可能的?

+0

您可以注入一些JS代碼(類似於[書籤工作](http://en.wikipedia.org/wiki/Bookmarklet))如何捕獲您想要的按鍵? – user3507600

+0

我想我可以構建一個可行的例子,但iframes很奇怪,跨源iframes更多。我有一些使用相同原始網頁的例子,但不是來自不同的域。事實上,我的相同的起源網頁通過在iframe.contentWindow上設置事件來工作,它似乎在跨越原點時被阻止。 – OldGeeksGuide

+0

我知道它的老問題,但因爲我無聊我會回答它無論如何:)你可以在你的頂部元素使用element.focus()。因此,假設您將在您的iframe上添加點擊偵聽器。每次點擊時調用焦點。希望有所幫助。 –

回答

0

簡短的回答:第

朗回答(從我的理解):你可以不聽事件,如按鍵等,因爲這涉及約束力的聽衆到文檔中的元素,如果你可以訪問這些元素,那麼理論上可以修改所述文檔的內容,如果不擁有內容的人將其嵌入到他們的頁面中,這是不可取的。也就是說,您可以觸發iframe的onload事件,或使用一些CSS定位覆蓋div,這些CSS定位將具有關鍵偵聽器。

相關問題