0

我可以使用哈希链接在 iframe 中运行 jquery 函数吗?也许是这样的:

父代码:

<a href="#runFunction" target="iframe">run function in iframe</a>
<iframe src="pageName.html" name="iframe"></iframe>

框架代码:

$(document).ready(function(){
$('body').the parent link is clicked, changing the url to pageName.html#runFunction (function(){
//blah blah blah//
});
});

谢谢

4

2 回答 2

1

是的,您可以使用 hashchange 事件。只要你不介意不支持 IE7 http://caniuse.com/hashchange

或者,还有一个插件可以为您回填:http: //benalman.com/projects/jquery-hashchange-plugin/

在父页面上,只需将 iframe 的 URL 更改为新的哈希值。

$("iframe").prop("src", "http://google.com/#newhash");

然后在 iframe 页面的文档中:

$(window).bind("hashchange", function() {
    alert(window.location.hash);
});
于 2013-04-20T16:33:34.863 回答
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!');
}
于 2013-04-20T16:46:04.213 回答