0
自從我上次將<frameset>
輸入到我的編輯器中已經很多年了,但今天我發現自己正在做這件事。幀間JavaScript通信? (在同一個域名)
我正在寫一個利用框架的小工具。在一個框架中,我有一個帶有文本輸入的文檔,而在另一個框架中,我有一個<ul>
的項目。當我在一個框架中輸入文本字段時,我需要在另一個框架中顯示/隱藏<ul>
中的項目。從歷史上看,我記得這會工作得很好。但今天嘗試它,Chrome的拋出一個搖擺:
不安全JavaScript嘗試與URL訪問文件框架:從框架//localhost/Users/chris/multi_yardoc/projects/list.html與URL文件://本地主機/用戶/克里斯/ multi_yardoc /項目/ menu.html。域,協議和端口必須匹配。
<script>
$(document).ready(function() {
$("#search-box").bind("keyup", function() {
$("li[class*='object-']", top.frames["list"].document).hide();
$("li[class*='object-" + $(this).val() + "']", top.frames["list"].document).show();
});
});
</script>
的錯誤是沒有意義的我,作爲域,協議和端口的所有比賽。我如何實現這一目標?
Bummer,這太糟糕了...這是一個「本地運行」的HTML文件集:(也許如果我把所有的JS移動到最上面的窗口,將工作,謝謝指出這一點!) – d11wtq
I通過更新框架的src來添加hash-bang,然後我只是在另一個框架中觀察對'location.hash'的更改。它有一個奇怪的副作用,使瀏覽器刷新按鈕閃爍,但它工作得很好。 – d11wtq