javascript - Webservice、JS、CSS 不能在 HTTPS(安全页面)上工作

标签 javascript asp.net css http https

在我的网站上,我只想在我的网站页面“securepage.aspx”之一应用 https

我的网站看起来像http://www.test.com/

我的安全页面将是 https://www.test.com/securepage.aspx

我的所有资源,如 JS/Images 都在 assets 文件夹中,而我的 webservices 在根目录下的 commonwebservice 文件夹中。

http://www.test.com/assets/js/

http://www.test.com/assets/images/

当我在安全页面上应用 https 时,该页面确实在 chrome 浏览器 中使用了任何 CSS 和 JS 文件,即我的整个页面都乱七八糟,即使我在那里使用了 CSS 和 JS 的绝对 URL。

在这种情况下,我的网络服务在所有浏览器上给出 500 错误。

任何人都可以建议和指导我处理这种情况的最佳方法是什么。

最佳答案

您看到的行为令人沮丧,但却是正确的。当您使用 HTTPS 提供页面时,您还必须在 HTTPS 下提供所有链接内容。

检查我们的协议(protocol)相关 URL ( http://paulirish.com/2010/the-protocol-relative-url/ )

基本上,它们看起来像这样:

<img src="//domain.com/img/logo.png">

如果您的页面是 HTTP,则资源会在 HTTP 下加载,如果是 HTTP,则它会在 HTTPS 下安全加载。

您必须设置您的服务器以提供两者下的 CSS/JS/WS 内容,但一旦您这样做,上面的相关链接将允许您在两者之间无缝切换。因此,对于母版页中的链接,请使用相对格式,这样无论内容页是在 HTTP 还是 HTTPS 下运行都无关紧要,资源将从与页面相同的协议(protocol)中提取。

关于javascript - Webservice、JS、CSS 不能在 HTTPS(安全页面)上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715620/

相关文章:

asp.net - 我如何从进程中慢慢迁移到使用 Redis 作为 session 状态提供程序?

c# - JQuery 中的超链接

c# - 在 Asp.Net 页面上单击“删除”按钮时创建确认消息

javascript - 在css或jquery中点击标签时需要高亮显示

JavaScript SDK 以嵌套函数形式返回数据

javascript - 如何从客户端 Angular 处理 CQRS

javascript - Angular2 JQuery,如何制作document.ready函数

javascript - 使用 getElementsByTagName 更改 &lt;textarea&gt; 的样式 文本从中心向左对齐

html - 需要帮助在 <div> 中插入背景图片

css - 在此内联元素中看不到 border-top