【发布时间】:2012-02-24 19:34:06
【问题描述】:
我有一个如下的 JavaScript 链接:
<a href="#" onclick="window.open('TrackPackage.asp?track=235&ship=OTHER&ShippingMethod=1', '', 'location=1,menubar=1,scrollbars=1,status=1,resizable=1,width=635,height=460'); return false;">
<span class="PageText_L288n">TRACK YOUR PACKAGE</span>
</a>
但是,它是从一个安全页面链接的,所以它变成了一个安全页面。不幸的是,这给我带来了一个问题,因为当他们到达页面时会自动提交不安全的表单。他们收到提示:此表单提交不安全。这些页面上没有任何敏感数据,所以我真的不需要首先保护页面。 HTML 或 JavaScript 中是否存在可能使链接不安全的属性。我无法真正修改链接本身,因为它是动态链接。
但是,我相信一些 jQuery 可以在 TrackPackage.asp 之前添加 http://www.example.com/。我想这是可以接受的,但我更喜欢某种只会使链接不安全的属性。谢谢
【问题讨论】:
-
你让我很困惑,哪个页面在 HTTPS,哪个不是。通常,您可以通过始终链接到 HTTPS-url 来避免安全警告(但显然,您必须指定该 TrackPackage.asp 的完整 URL)。或者,使用无协议 URL(例如“//google.com”),因为这应该通过与调用页面相同的协议打开引用的 URL。不相关,如果你使用
<a href="TrackPackage.asp" target="_blank">click me</a>会更友好,因为这会打开新窗口/标签,没有被弹出窗口阻止程序阻止的风险(只是一个想法;我讨厌弹出窗口)。 -
@Hari 调用页面是 HTTPS,我试图让 TrackPackage.asp 页面成为 HTTP。我无法修改链接,所以我必须使用 JavaScript 或 jQuery
-
协议是在URL中指定的,所以在URL的开头加上domain是解决这个问题的最好办法。没有属性可以改变协议。
-
当然你可以修改链接——在你收到来自第 3 方的 HTML 之后,你至少有一次这样做的机会——例如使用 js+jquery 更改链接的属性和所有你想要的。我从未见过有关 HTTPS-to-HTTP 的浏览器警告;我看到了相反的情况。但是,无论如何,您可以更改 URL(以及协议),即使它是有条件的(http 或 https 取决于某些东西)。
-
@Hari 好的,所以我对 jQuery 的了解非常有限。如何将
http://www.example.com添加到 URL 的开头?
标签: javascript jquery url hyperlink anchor