我遇到以下HTML问题:
<a href="javascript:document.formName.submit();" target="iframe">
其中formName是iframe中表单的名称。我希望浏览器导航到iframe中的页面“javascript:...”,因此它会在iframe的当前页面上执行javascript。我的问题是浏览器将尝试执行该函数并使用返回的结果作为url。当然,在当前页面上没有要提交的表单,所以我只是收到错误。
答案 0 :(得分:2)
跨域iframe不是飞行区域,您将无法对不同域中的帧内的DOM执行任何操作。即使用户点击了框架内的提交按钮,您的网页也无法将新网址从框架中取回。
答案 1 :(得分:0)
在这种情况下,您可以通过访问iframe来实现:
<a href="javascript:window.frames[N].contentDocument.FORMNAME.submit()">
(这可能不是正确的咒语)。通常,您应该使用超链接的onclick处理程序执行此操作,该处理程序将调用iframe文档定义的函数。
编辑:没有办法跨域工作。这违反了浏览器的安全策略。