我可以使用哈希链接在iframe中运行jquery函数吗? 也许是这样的:
家长代码:
<a href="#runFunction" target="iframe">run function in iframe</a>
<iframe src="pageName.html" name="iframe"></iframe>
iframe代码:
$(document).ready(function(){
$('body').the parent link is clicked, changing the url to pageName.html#runFunction (function(){
//blah blah blah//
});
});
感谢
答案 0 :(得分:1)
是的,您可以使用hashchange事件。只要你不介意不支持IE7 http://caniuse.com/hashchange
或者,还有一个可以回填的插件:http://benalman.com/projects/jquery-hashchange-plugin/
在父页面上,只需将iframe的URL更改为新的哈希值。
$("iframe").prop("src", "http://google.com/#newhash");
然后在iframe页面的docready中:
$(window).bind("hashchange", function() {
alert(window.location.hash);
});
答案 1 :(得分:0)
我不确定你在这里尝试的是什么......但你可以试试这个:
'myIFrameFunction'是'pageName.html'中的函数...
父HTML:
<a href="#myIFrameFunction" target="iframe">click me for win</a>
<iframe src="pageName.html"></iframe>
iframe Javascript(只要要调用的函数全局声明[直接在脚本标记或js文件中]):
function testHash() {
var hash = window.location.hash.split('#')[1];
if ( typeof window[hash] != 'undefined' ) {
window[hash]();
}
}
var myTimer = setInterval(testHash, 100);
function myIFrameFunction() {
alert('It Works!');
}