使用Javascript在其他窗口中打开链接

Opening links in other windows with Javascript

本文关键字:链接 窗口 Javascript 其他 使用      更新时间:2023-09-26

我对JavaScript已经不陌生了。作为一种编程语言,我刚刚将其与Java区分开来,我决定接受它,并想尝试一些实用的项目。但我不知道我做错了什么,也不知道为什么我的代码会出错。

创意

在工作中,我有一个系统,只需在浏览器中打开一个URL,我就可以执行一个脚本来重置一批功能区屏幕。我不知道代码是如何工作的,但它确实工作了,我很高兴。但我宁愿有一个网页,我可以去那批打开每一个网页。它可能很乱;在这一点上,我只想完成这项工作。因此,据我所知,我已经设法拼凑出了一些代码。

代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ribbon screen batch Reset</title>
<script>
var txt="Success!";
 function open()
 {
 try
   {
       window.open("test.html");
   document.write("<p>",txt,"</p><br />");
   }
 catch(err)
   {
   document.write("Something went wrong here.");
   document.write("Error description: " + err.message + "'n'n");
   alert("Interrupted due to errors. See webpage for details");
   }
 }
</script>
</head>
<body>
<img src="http://placehold.it/500x150" />
<h1>Ribbon screen batch reset Type 1 </h1>
<p>Version 1.0.3</p>
<button type="button" onclick="open()">Run code</button>
</body>
</html>

我向你保证,我看不到任何问题,我在同一文件夹中有另一个名为test.html的文档,当我单击index.html上的按钮时,按钮就会消失,我只剩下一页空白。非常感谢您的帮助!

两个简单的修复:

1) open是保留字;调用其他函数。

2) 您必须命名窗口,然后使用该名称对其进行操作。

代码:

<html>
    <head>
        <script type="text/javascript">
            var txt="Success!";
             function openit()
             {
             try
               {
                    testwin = window.open("test.html");
                    testwin.document.write("<p>",txt,"</p><br />"); 
               }
             catch(err)
               {
                    document.write("Something went wrong here.");
                    document.write("Error description: " + err.message + "'n'n");
                    alert("Interrupted due to errors. See webpage for details");
               }
             }
        </script>
    </head>
<body>
    <img src="http://placehold.it/500x150" />
    <h1>Ribbon screen batch reset Type 1 </h1>
    <p>Version 1.0.3</p>
    <button type="button" onclick="openit()">Run code</button>
</body>
</html>

将函数重命名为其他函数,如openMyPage。使用onclick="open()"将调用document.open

我不知道"功能区屏幕"是什么,但您的代码有很多问题。首先,如果你在<header>中使用document.write(),结果是不可见的,这是一种糟糕的做法。

第二个问题是这是完全错误的document.write("<p>",txt,"</p><br />");正确的代码应该是document.write("<p>"+txt+"</p><br />");

第三,你可以把整件事写成一行:<button type="button" onclick="window.open("test.html")">Run code</button>

希望这能有所帮助,干杯