使用JavaScript(无需jQuery),在页面加载时自动调整窗口大小并将其居中显示

5

这不是我们通常做的事情,但我们正在尝试将视频加载到由clickTag(来自横幅广告)打开的空白窗口中,并尽可能使其感觉像模态窗口。

是否可以使用JavaScript自动调整clickTag打开的空白窗口大小并将其居中显示在屏幕上?

  • 我们无法应用于被点击链接的任何内容...
  • 所有内容必须在页面加载时自运行
  • 如果可能的话,最好不要看到浏览器选项卡和地址栏
  • 我们没有加载jquery
  • 浏览器安全警报会有潜在问题吗?

本质上,用户单击以观看视频,我们希望他们在观看视频时感觉不像他们转到了完全不同的网站。

到目前为止,我可以调整窗口大小,但无法找出如何使用以下代码将其居中:

<script language="javascript">

  function resizeVideoPage(){
    resizeTo(400,390);
    window.focus();
  }
</script> 

// Then...

<body onload="resizeVideoPage();"></body>

任何指向正确方向的提示都将不胜感激。
谢谢!
Ben
2个回答

11

使用以下方法使其工作:

<script language="javascript">

  function resizeVideoPage(){
    var width = 600;
    var height = 400;
    window.resizeTo(width, height);
    window.moveTo(((screen.width - width) / 2), ((screen.height - height) / 2));      
  }
</script>

// Then...

<body onload="resizeVideoPage();"></body>

一个很好且干净的方法。我只是在闭合头标签后面添加了<script language="javascript"> var width = 600; var height = 400; window.resizeTo(width, height); window.moveTo(((screen.width - width) / 2), ((screen.height - height) / 2)); </script>,它可以很好地调整窗口大小。 - Elena

6
我个人建议不要使用弹出窗口和JavaScript窗口操作(由于弹出拦截器、JavaScript错误等原因)。覆盖层可能会更好一些。
这里还有另一个解决方案。
文件一(链接应指向此助手,打开视频HTML)。
<html>
<body>
<script>
    var windowWidth = 400;
    var windowHeight = 200;
    var xPos = (screen.width/2) - (windowWidth/2);
    var yPos = (screen.height/2) - (windowHeight/2);
    window.open("popup.html","POPUP","width=" 
    + windowWidth+",height="+windowHeight +",left="+xPos+",top="+yPos);
</script>
</body>
</html>

文件二(关闭Helper的视频)

<html>
<body onload="window.opener.close();">
</body>
</html>

谢谢您的建议,但发布商坚持要在横幅广告中弹出窗口 - 而我们无法控制链接代码(Flash clickTag)或链接所在的页面。您的JavaScript能否放置在我们从clickTag加载的页面中,并在页面加载时运行?谢谢。 - CMSCSS
如果我理解你的意思正确的话,我会说它应该可以工作。这两个脚本的主要思想是:AdLink打开“文件一”,而“文件一”打开真正的弹出窗口(文件二)。然后弹出窗口在onload时关闭“文件一”,只留下广告所在的页面和弹出窗口。希望这有所帮助。 - winner_joiner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接