[英]Scrolling a parent document from within an iframe
我有兩個這樣的文件:
<html>
<body>
<p name="parentElem" id="parentElem">No sign of Big Dave</p>
<iframe src="http://subdomain.mydomain/nsobd2.html"></iframe>
</body>
</html>
<html>
<body>
<a href="???" id="childLink">No sign of Big Dave</a>
</body>
</html>
我想要的是,當有人單擊iframe中的childLink
時, parentElem
滾動到視圖中。
我努力了:
<a href="#parentElem" target="_parent">
-這會在父框架中加載http://subdomain.mydomain/nsobd2.html#parentElem 。 <a href="javascript:document.findElementById('parentElem').scrollIntoView()">
-由於兩個文檔位於不同的子域上,因此無法使用。 還有其他想法嗎?
由於您正在嘗試在兩個域之間進行通信,因此簡短的答案是您不能。 您不能因為在瀏覽器級別上設置的限制而禁止跨站點腳本。
例如,假設我注冊了域名superwinningcontest.com,並發送了指向人們電子郵件的鏈接。 當他們加載主頁時,我可以在其中隱藏一些iframe並閱讀他們的Facebook提要,查看最近的Amazon或PayPal交易,或者-如果他們使用的服務沒有實現足夠的安全性,則可以從他們的帳戶中轉出資金賬戶。 這就是JavaScript僅限於相同域和相同協議的原因。 [ 來源 ]
但是,您可以通過跨文檔消息傳遞實現您的目標。 github項目的舷窗也許可以為您提供幫助。 因此,您無需向iframe調用或在父窗口中執行某些功能,而是向父窗口發送一條消息“嘿,介意滾動到X嗎?” 來自iframe。 當父框架收到此消息時,它可以決定執行某些功能,然后可能滾動到位置X。
這個StackOverflow線程上似乎有許多相關的答案。 例如,在此答案中 ,用戶實施了一個跨文檔消息傳遞方案,該方案可能對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.