2013-02-18 40 views
0

首先:这只需要在Mac上工作。等待外部应用程序启动Javascript

我有一个<meta http-equiv=Refresh Content=1;url=rtsp://example.com/file.sdp应该自动问/打开QuickTime播放器。我试图让QuickTime播放器启动后立即执行javascript函数。

难道只是等5秒钟?

否:在safari中这可能没问题;在Chrome和Firefox我想这要等到启动应用或确定按钮被按下时执行的JavaScript函数之前

感谢

+0

只要在qt启动后需要另一个用户点击,你会更安全。你想要的只是不可能的。 – bfavaretto 2013-02-18 01:25:26

+0

@bfavaretto那么你的意思是说,唯一可行的方法就是让它出现在启动应用程序提示符下显示的对话框? – zggz12 2013-02-18 01:29:57

+0

*提示后,实际上。浏览器无法控制外部应用程序,因此您必须依赖用户告诉您QuickTime已启动。 – bfavaretto 2013-02-18 01:37:18

回答

0

你可以换的什么,在触发JavaScript的超时

setTimeout (expression, timeout); 

例如:

function hello() { 
    alert('hello'); // or play anything. 
} 
setTimeout(hello, 5000); // unit in miliseconds (5000 means 5 seconds) 
+0

正如我之前所说:这将在safari中工作,但不会在Chrome/Firefox中由于'launch application'的提示而出现。我需要代码在QuickTime播放器开始启动后才执行。 ..我不知道还有什么你可以等待那个野生动物园然后不会抛出一个错误...你们可以拿出任何东西,虽然 – zggz12 2013-02-18 01:19:12

+0

啊,我明白了,你的意思是黄色的酒吧在顶部提示你?我认为它是浏览器的隐私偏好,你不能强迫浏览器这样做。如果您找到解决方法,该怎么办?首先运行该功能。 *然后*播放内容? – 2013-02-18 01:32:07

+0

这里的文档[Apple链接](https://developer.apple.com/library/mac/#documentation/quicktime/Conceptual/QTScripting_JavaScript/bQTScripting_JavaScri_Document/QuickTimeandJavaScri.html#//apple_ref/doc/uid/TP40001526-CH001- SW3),允许从QuickTime播放器回拨。但它指向损坏的源文件。 AC_QuickTime.js .. – 2013-02-18 01:35:04

0

谢谢大家的答案。我要展示我最终在这里做的事情。

<meta http-equiv=Refresh Content=1;url=rtsp://####.com/####.sdp /> 

<script type='text/javascript'> 
function checkfinish() { 
var answer = confirm('Finished with this page?') 
if (answer) 
    window.location = "previous-page" 
} 
setTimeout (checkfinish, 5000) 
</script> 

我想通了,我做错了什么:

Trying to do this! 

我决定的,而不是让它自动重定向;让它留下一个按钮返回到底部的上一页。

感谢所有帮助。