0

我想要一个包含画布的弹出窗口,但我无法让 JS 在弹出窗口中工作。

这是一个显示问题的玩具程序,试图让“警报”在弹出窗口中工作。

    <html> <head>  <title> popup test </title>
    <script language="javascript">
    function popup()
{OpenWindow=window.open("","","height=250,width=250");
OpenWindow.document.write("<html><body bgcolor=pink>Hello!");
OpenWindow.document.write("<form><input type='button' value='alert' onclick='doalert()'></form> ");
OpenWindow.document.write("</body></html>");
}
    function doalert() { alert("Got in");}
    </script> </head>
    <body>
<input type="button" onclick='popup()' value="click to see new window">
    </body></html>

警报按钮显示在弹出窗口中,单击它时会闪烁,但不会弹出警报框。

4

2 回答 2

1

在子窗口中定义 doalert:

<html> <head>  <title> popup test </title>
<script language="javascript">
    function popup() {
        OpenWindow=window.open("","","height=250,width=250");
        OpenWindow.document.write("<html><body bgcolor=pink>Hello!");
        OpenWindow.document.write('<script language="javascript">function doalert() { alert("Got in"); } <\/script>');
        OpenWindow.document.write("<form><input type='button' value='alert' onclick='doalert()'></form>");
        OpenWindow.document.write("</body></html>");
    }
</script> </head>
<body>
    <input type="button" onclick='popup()' value="click to see new window">
</body></html>
于 2013-10-02T07:36:50.140 回答
0

“doalert()”只能在新窗口加载时启动。将这些需要在父窗口和子窗口中工作的函数放在一个函数中,并在每个窗口打开时以及在页面中插入或包含新代码时触发它们。

于 2013-10-02T07:49:40.270 回答