Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用<;车身onUnload>;以应用程序模式运行的chrome浏览器中的标记_Javascript_Perl_Google Chrome - Fatal编程技术网

Javascript 使用<;车身onUnload>;以应用程序模式运行的chrome浏览器中的标记

Javascript 使用<;车身onUnload>;以应用程序模式运行的chrome浏览器中的标记,javascript,perl,google-chrome,Javascript,Perl,Google Chrome,我正在使用命令(从批处理文件)启动chrome浏览器窗口 c:\path\to\chrome.exe——应用程序 这是你的密码 此url显示一条消息。我的愿望是,当用户单击文本或故意关闭窗口时,我希望此操作调用cgi-bin-perl脚本,并将当前日期和时间写入(追加)预定义文件 对于单击URL,很容易将整个消息作为链接,并将其绑定到我的perl脚本的URL 对于窗口关闭的情况,我希望onUnload函数生效并调用一个新的(甚至是相同的)窗口并在其中运行我的perl脚本 我已经在纯chrome浏

我正在使用命令(从批处理文件)启动chrome浏览器窗口

c:\path\to\chrome.exe——应用程序 这是你的密码

此url显示一条消息。我的愿望是,当用户单击文本或故意关闭窗口时,我希望此操作调用cgi-bin-perl脚本,并将当前日期和时间写入(追加)预定义文件

对于单击URL,很容易将整个消息作为链接,并将其绑定到我的perl脚本的URL

对于窗口关闭的情况,我希望onUnload函数生效并调用一个新的(甚至是相同的)窗口并在其中运行我的perl脚本

我已经在纯chrome浏览器中测试了onNLAD功能,它可以正常工作。但从chrome上加载的相同url作为应用程序框架启动,它被完全忽略

这是为什么?有没有人知道如何在不使用--application开关的情况下将浏览器作为常规的chrome窗口启动的情况下使其正常工作

配备弹出窗口阻止程序的浏览器将忽略onunload事件处理程序函数中的所有window.open()方法调用

因此,使用
window.open()
,您试图做的是不可能的


尝试改用AJAX。因为您只是试图写入一个文件,所以您只需要传递信息,而不是打开一个新窗口。AJAX在这方面做得很好。

不幸的是,我只是一个UNIX用户。像AJAX这样的Web技术只不过是我听到的一个名字。但是考虑到AJAX是javascript并且在客户端运行,它将如何帮助我在服务器上写入文件。如果它可以调用我的test.plcgi-bin脚本,它将如何处理它?同样,我对AJAX框架不是非常熟悉。所以,如果我的问题很愚蠢,请接受我的道歉;这是一种客户端在页面已经加载后使用javascript与服务器通信的方法。本质上,您不需要调用
window.open()
,只需调用一个函数向服务器发送请求即可。在这种情况下,它所做的只是请求
http://w.x.y.z/cgi-bin/test.pl
。解释AJAX超出了这里的回答范围,但我会建议和。
<html>
<head>
<title>My Message Window</title>
</head>
<body onunload=window.open("http://w.x.y.z/cgi-bin/test.pl"), _blank>
<a href=http://w.x.y.z/cgi-bin/test.pl>My Long Test Meesage, Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit</a>
</body>
</html>
#!/usr/bin/perl
open(OUTFILE, ">>/message/log/accesslog.txt");
print OUTFILE scalar localtime ();