我有一个像
这样的字符串var content = '<img id="product-collection-image-515" src="http://www.dressbd.com/media/catalog/product/cache/1/small_image/300x300/9df78eab33525d08d6e5fb8d27136e95/r/u/shirt.jpg" alt="Shirt"></img>';
我想改变它如下。
var content = '<img id="product-collection-image-515" src="https://www.dressbd.com/media/catalog/product/cache/1/small_image/300x300/9df78eab33525d08d6e5fb8d27136e95/r/u/shirt.jpg" alt="Shirt"></img>';
我想替换&#39; http&#39;用&#39; https&#39;使用JavaScript。我使用.replace()
,但它不起作用。
我该怎么做?谢谢
答案 0 :(得分:2)
你喜欢这个吗?作为replace()
工作
var content = '<img id="product-collection-image-515" src="http://www.dressbd.com/media/catalog/product/cache/1/small_image/300x300/9df78eab33525d08d6e5fb8d27136e95/r/u/shirt.jpg" alt="Shirt"></img>';
var newContent = content.replace('http','https');
alert(newContent)
答案 1 :(得分:0)
我通常使用.split()
例如.split("//")
var p = content.split("//");
p[0] += "s";
var result = p[0] + p[1];
答案 2 :(得分:0)
试试这个
var str = "Hi William How are You?",
res = str.replace("William", "Anderson");
alert(res);
&#13;
结果将是:
Hi Anderson How are You?
答案 3 :(得分:0)
如果替换功能对您不起作用,则可能是您没有将返回值分配给新变量。
E.g。你不能这样做:
content.replace('http','https')
由于该功能返回结果并且实际上并未实际更改内容&#39;字符串。
相反,你需要这样做:
var newvar = content.replace('http','https');
但是,您可能根本不需要任何代码。
在网址前面使用//将指示浏览器使用与当前页面相同的协议。例如,如果从
查看https://example.com/mypage
此链接
//google.com/somestuff.js
请求
https://google.com/somestuff.js
如果您在普通的http网站上,则链接将被请求为
http://google.com/somestuff.js
如果您尝试将混合内容(http和https)加载到页面中,浏览器会抱怨安全问题,因此最好使用//格式。