Roe*_*rew 2 html javascript jquery redirect window.location
我正在建立一个看起来像这样的网站(http://brandonbarber.co/)。
我有以下代码可检测到对Linkedin div的点击,然后重定向。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#linkedin").click(function(){
window.location.href = "https://www.linkedin.com/in/brandon-barber-79043593/";
return false;
});
});
</script>
<body>
<div id="banner">
<div class="menubutton" id="home">Home</div>
<div class="menubutton" id="circuitry">Circuitry</div>
<div class="menubutton" id="programming">Programming</div>
<div class="menubutton" id="stackoverflow">Stackoverflow</div>
<div class="menubutton" id="linkedin">Linkin</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,当我单击div时,它会重定向到空白页。
我想念什么?
发生此问题是因为您的整个网站都是由帧/ iframe组成的,所以当您使用window.location.href =“ https://www.linkedin.com/in/brandon-barber-79043593/ ”时,系统会提示您浏览器在iframe中打开该页面,该页面是源不允许的,在这种情况下为linkedin。
Refused to display 'https://www.linkedin.com/in/brandon-barber-79043593/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
要变通解决此问题,您需要使用window.open而不是window.location,例如:
window.open('https://www.linkedin.com/in/brandon-barber-79043593/', '_blank');
附带说明一下,由于IP地址是同时在DOM中公开的,因此我建议您不要对页面的源内容进行iframe,而应为您的域设置一个指向您IP的CNAME。