使用body-onload打开一个新窗口

open a new window using body onload

本文关键字:一个 窗口 新窗口 body-onload 使用      更新时间:2024-03-22

编辑-这是代码

<html> 
<head> 
<script type="text/javascript"> 
var prodURL = "https://blah"; 
function postwith (to, params) { 
var myForm = document.createElement("form"); 
myForm.method = "post"; 
myForm.target = "_self"; 
myForm.action = to; 
for (var p in params) { 
var myInput = document.createElement("input"); 
myInput.setAttribute("name", p); 
myInput.setAttribute("value", params[p]); 
myInput.setAttribute("type", "hidden"); 
myForm.appendChild(myInput); 
} 
document.body.appendChild(myForm); 
myForm.submit(); 
} 
</script> 
<style type="text/css"> 
#overlayPageLoad { 
background: none repeat scroll 0 0 white; 
height: 100% !important; 
left: 0; 
position: absolute; 
text-align: center; 
top: 0; 
width: 100% !important; 
} 
#overlayPageLoad .middle { 
color: #888888; 
font-size: 16px; 
left: 0; 
position: absolute; 
top: 50%; 
width: 100%; 
} 
</style> 
</head> 
<body onload= "postwith(prodURL, {SF_SESSION:'{!$Api.Session_ID}',SF_ENDPOINT:'{!$Api.Partner_Server_URL_120}'})"; > 
<div id="overlayPageLoad"> 
<span class="middle"> 
<img src="https://prettypicture"> 
&nbsp;Connecting... 
</span> 
</div> 
</body> 
</html>

现代浏览器只允许直接响应特定用户生成的操作(如click事件)来打开新窗口。你不能在其他时间打开它们(比如窗口加载或卸载),因为过去浏览器允许这样做,而且很快就会被滥用。所以现在我们有了弹出窗口阻止程序。

更新:回复您的评论:

企业目前在现有窗口中打开了链接,现在他们希望在另一个窗口中打开链接。。

你可以这样做。你可以在链接到新窗口中你想要的页面的页面中这样做,而不是打开的页面,就像这样:

<a href="..." target="_blank">text of link</a>

请参见a元素的target属性。