使用jQuery或Javascript将所有http://转换为https://
Convert all http:// to https:// using jQuery or Javascript
我正在尝试将src标记中的链接转换为https://
。更准确地说,Youtube iframes。例如:
<iframe width='650' height='365' src="http://www.youtube.com/embed/y9kBixgYKzw" frameborder="0" allowfullscreen></iframe>
我尝试了以下代码,但没有运气:
function RedirNonHttps() {
if (location.src.indexOf("https://") == -1) {
location.src = location.src.replace("http://", "https://");
}
}
<body onload="RedirNonHttps();">
有人能告诉我做这件事的正确方法吗?
通常,下面的示例显示了它的工作方式。通过each
循环元素并替换源标记,如代码中所示:
$("iframe").each(function() {
$(this).attr("src", $(this).attr("src").replace("http://", "https://"));
});
但请记住,这可能为时已晚。这些帧可能已经通过CCD_ 3加载。如前所述,您必须在服务器端执行此操作,以确保内容将通过https
加载。
您是否试图更改iframe源中URL的协议?或者试图将传入请求重定向到HTTPS对应方?
如果是后者,您可能需要尝试这样的解决方案:检测HTTP或HTTPS,然后在JavaScript 中强制HTTPS
if (window.location.protocol != "https:")
window.location.href = "https:" + window.location.href.substring(window.location.protocol.length);
你可以在你的头脑中运行这个Javascript。
如果你试图更改iframe的来源,我相信你会遇到eisbehr解释过的问题。也就是说,外部源已经通过HTTP加载。
尝试将"https://"替换为"//"
src="//www.youtube.com/embed/y9kBixgYKzw"
试试
if (location.protocol != 'https:')
{
location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
}
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何将TypeScript对象转换为普通对象
- 检测个位数整数时正在转换毫秒
- 从javascript到jquery的转换
- DOM事件通过JSON转换为java
- 将圆柱体转换为弯管
- 如何将 HTTP 转换为 HTTPS Facebook 应用程序
- 当页面转换为“;https://”;
- 使用jQuery或Javascript将所有http://转换为https://
- 我的服务器请求需要从 Http 转换为 Https