使用iframe中的javascript

时间:2014-06-09 19:04:22

标签: javascript jquery html iframe

我有一个脚本:

$(document).ready(function(){
    $('#submit').click(function(e){
        window.location.href = '/dash/do/record/' + $('#filename').val()
        return false;
    });
});

写为<script src="...jquery..."></script><script>... the code </script>

如果我从浏览器直接加载它,它可以工作,但是如果通过iframe调用它,则不行。什么原因?我该怎么办? (主页面也有jquery标签)

2 个答案:

答案 0 :(得分:2)

您正尝试将iframe重定向到新网站。您的浏览器很可能会保护您免受Cross Site Scripting的攻击。我尝试通过将iFrame重定向到Google来复制您的搜索结果。我的控制台随后弹出错误,现在读取以下内容:

Refused to display 'https://www.google.ca/?gfe_rd=cr&ei=EAiWU_TDMKuC8QfC4YG4DA&gws_rd=ssl' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

您仍然可以使用以下方式重定向父级:

window.top.location.href = '/dash/do/record/' + $('#filename').$

或者使用以下内容重定向iframe:

window.top.$('iframe')[0].src = "" 

答案 1 :(得分:1)

看看您是否从iframe这是一个子窗口执行此脚本,那么您必须使用parent

window.parent.location.href = "";

想要重定向iframe,而不是整个页面。

然后您可以在父页面上创建一个功能来更改src的{​​{1}}:

父页面上的

iframe
在iframe文档上

function changeSrc(url){
   $('iframe').attr('src', url);
}