我想使用JavaScript将http的每个实例更改为https。我怎样才能做到这一点?源代码会是什么样的?
答案 0 :(得分:0)
无论如何,我假设你所使用的是标签,但是应该很容易将其推断给其他人:
if (document.location.protocol === 'https:') {
$('a').each(function() {
var href = $(this).attr('href');
if (href.indexOf('http:') > -1) {
href = href.replace('http:', 'https:');
$(this).attr('href', href);
}
});
}
答案 1 :(得分:0)
您可以在http域页面中向httlet发送https更改请求,服务器将重定向到https域页面。尝试在javascript中将域从http更改为https将导致浏览器安全性错误(因为在所有现代浏览器中都拒绝跨域请求)。 我解决了同样的问题,如下所示。
function readyForSecure(loginID)
{
if (location.protocol == 'http:') {
// https change request
HTMLFormElement.prototype.submit.call(document.getElementById('login-box'));
}
}
<form id="login-box" action='xxxxxx' method="post" accept-charset="UTF-8">
...
<input type="button" value="Login" onfocus="readyForSecure(this.value)"/>
</form>
你可以在这里参考。 refer page.
答案 2 :(得分:-1)
您可以使用以下内容将http流量重定向到https:
<script type="text/javascript">
<!-- begin hide
function httpsRedirect()
{
var httpURL = window.location.hostname + window.location.pathname;
var httpsURL = "https://" + httpURL;
window.location = httpsURL;
}
httpsRedirect();
// end hide -->;
</script>