防止 javascript 在 HREF 中运行

发布于 2024-09-28 12:16:23 字数 287 浏览 2 评论 0原文

我对以下 HTML 遇到问题:

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

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

I have a problem with the following HTML:

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

Where formName is the name of a form inside the iframe. I would like the browser to navigate to the page "javascript:..." in the iframe, so it executes the javascript on the current page in the iframe. My problem is that the browser will attempt to execute the function and use the returned result as the url. Of course there is no form to submit on the current page, so I just get an error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

要走就滚别墨迹 2024-10-05 12:16:23

跨域 iframe 不是飞行区域,您将无法对不同域上的框架内部的 DOM 执行任何操作。即使用户单击框架内的提交按钮,您的页面也无法从框架中获取新的 url。

Cross domain iframes are no fly zones, you won't be able to do anything with or to the DOM inside of a frame on a different domain. Even if the user clicked the submit button inside the frame, your page would not be able to get the new url back out of the frame.

三岁铭 2024-10-05 12:16:23

在这种情况下,您可以通过进入 iframe 内部来完成此操作:(

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

这可能不是完全正确的咒语)。一般来说,您应该使用超链接的 onclick 处理程序来执行此操作,该处理程序调用 iframe 文档定义的函数。

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

In this case, you can do it by reaching inside the iframe:

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

(that may not be exactly the right incantation). In general, you should do this with an onclick handler for the hyperlink, that invokes a function defined by the iframe's document.

EDIT: There is NO WAY to make this work cross-domain. It's a violation of the browser's security policies.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文