-2

编辑-这是代码

<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>
4

1 回答 1

2

现代浏览器只允许打开新窗口以直接响应特定的用户生成的操作,例如click事件。您无法在其他时间(例如窗口加载或卸载)打开它​​们,因为以前浏览器允许这样做,并且很快就被滥用了。所以现在我们有了弹出窗口拦截器。

更新:回复您的评论:

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

能做到的。您在链接到新窗口中所需页面的页面中执行此操作,而不是正在打开的页面,如下所示:

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

查看元素的target属性a

于 2012-07-26T20:51:59.237 回答