防止在HREF中运行javascript

时间:2010-10-20 19:37:10

标签: cross-domain

我遇到以下HTML问题:

<a href="javascript:document.formName.submit();" target="iframe">

其中formName是iframe中表单的名称。我希望浏览器导航到iframe中的页面“javascript:...”,因此它会在iframe的当前页面上执行javascript。我的问题是浏览器将尝试执行该函数并使用返回的结果作为url。当然,在当前页面上没有要提交的表单,所以我只是收到错误。

2 个答案:

答案 0 :(得分:2)

跨域iframe不是飞行区域,您将无法对不同域中的帧内的DOM执行任何操作。即使用户点击了框架内的提交按钮,您的网页也无法将新网址从框架中取回。

答案 1 :(得分:0)

在这种情况下,您可以通过访问iframe来实现:

<a href="javascript:window.frames[N].contentDocument.FORMNAME.submit()">

(这可能不是正确的咒语)。通常,您应该使用超链接的onclick处理程序执行此操作,该处理程序将调用iframe文档定义的函数。

编辑:没有办法跨域工作。这违反了浏览器的安全策略。