我需要一些指示/示例,说明如何使用jquery替换文档头部中的所有链接。
我正在使用一个需要我的网站拥有SSL的应用。我的主机有一个共享SSL,可用于访问我的网站。为了避免购买SSL和静态IP(以及证明我可以做到),我通过他们的安全URL安全地访问我的网站查看一个html文件,该文件只是一个提供不安全页面的框架(我的网站)。我必须使用他们的网址安全地访问我的网站,并使用他们的网站路径,所以它是这样的 - https://secure.bluehost.com/~username/mysite/app/index.html(这只是一个源指向我网站的框架)。
无论如何,当然有安全警告,因为我的网站使用http://mysite.com/mysite.js与https://secure.bluehost.com~username/mysite/mysite.js提取javascript文件等。所以,长话短说我需要将文档头部中的所有链接从http://mysite.com替换为https://secure.bluehost.com/~username/mysite。
例如,我想改变这样的每个链接:
<link rel="stylesheet" href="http://mysite.com/wp-content/themes/thesis_182/
style.css" type="text/css" media="screen, projection">
到此:
<link rel="stylesheet" href="https://secure.bluehost.com/~username/mysite/wp-
content/themes/thesis_182/style.css" type="text/css" media="screen, projection">
由于
答案 0 :(得分:2)
只需省略协议并使用//
即可。这将使用当前协议,无论它是什么..
因此请将您的链接更改为
<link rel="stylesheet" href="//mysite.com/wp-content/themes/thesis_182/
style.css" type="text/css" media="screen, projection">
你会没事的。
答案 1 :(得分:0)
我认为这样的事情应该有效,但我没试过:
$('link').each(function () {
var target = $(this);
var oldHref = target.attr('href');
var newHreh = oldHref.replace('http://mysite.com', 'https://secure.bluehost.com/~username/mysite');
target.attr('href', newHref);
});
要让代码在它之前太晚,因此在将css加载到页面之前,只需将标记放在标题中,而不是将其放在页面的末尾。 您还可以省略标记声明并以不同的方式处理问题,使用jQuery向正文标记添加具有正确地址的链接标记。