请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配

时间:2014-02-03 10:57:47

标签: javascript html forms

我收到了这个错误:

Uncaught SecurityError:阻止原点“https://lss-servicedesk.techteam.com”的帧 从访问具有原始“http://mydomain.com”的框架 请求访问的帧具有“https”协议,被访问的帧具有“http”协议。 协议必须匹配。

<FORM ACTION=https://lss-servicedesk.techteam.com/CAisd/pdmweb.exe METHOD=POST onsubmit="return checkform(this);">

有没有办法解决这个问题?提前谢谢......

2 个答案:

答案 0 :(得分:6)

这里有2个错误。第一个是跨域问题,您无法解决这个问题。您的网站无法访问已加载的iframe网站。否则,浏览器将非常不安全,只需加载iframe,一个站点就可以非常轻松地在另一个站点上获取用户的设置。因此,您无法更改iframe中的任何内容。您可以对iframe的内容做的唯一事情是iframeElement.src = '//otherurl.com'; - 更改iframe的源网址。

要解决第二个问题,您可以执行以下操作:您可以只使用{{1},而不是在脚本或表单中定义的网址中使用http://https://。 }。这将自动“填写”与您现在使用的协议相同的协议。所以,如果你现在在//,它会在http://中加载iframe,反之亦然。

答案 1 :(得分:0)

我遇到了与我的网络服务器相关的两个不同域名的问题。它们都设置了DNS设置以将domain.com(没有www)重定向到http://www.domain.com。一个域的问题与您的类似,但结果是由于DNS错误,我们将FRAME设置为是。将FRAME设置为no后,它解决了两个问题(帧错误和http / https错误)。这是一个小东西,但它导致了完全相同的错误,所以只是想提到它作为其他任何人应该偶然发现这个线程的另一种可能性。