gpt4 book ai didi

javascript - JavaScript 可以监听网页中嵌入的 QuickTime 对象的状态变化吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:35 24 4
gpt4 key购买 nike

我正在尝试控制一个已使用 JavaScript 嵌入到网页中的 QuickTime 对象,并希望监听该对象抛出的 DOM 事件并对其使用react。苹果有published a tutorial on the matter这似乎根本不起作用。我使用他们的文档制作的代码如下:

$(document).ready( function() {
$('#plugin').html( QT_GenerateOBJECTText( 'http://streaming1.wecreate.com:443/ckkw_kfun.mp3' , '300', '300', '', 'obj#ID', 'qt', 'emb#ID', 'qt', 'emb#NAME', 'qt', 'postdomevents', 'true', 'EnableJavaScript', 'true', 'autoplay', 'true' ) );
qt = document.getElementById('qt');
if(!qt ) {
alert("Couldn't get QT Handle");
}
RegisterListeners();
});

function myAddListener(obj, evt, handler, captures) {
if ( document.addEventListener )
obj.addEventListener(evt, handler, captures);
else
obj.attachEvent('on' + evt, handler);
}
function RegisterListener(eventName, objID, embedID, listenerFcn) {
var obj = document.getElementById(objID);
if(!obj )
obj = document.getElementById(embedID);
if(obj)
myAddListener(obj, eventName, listenerFcn, false);
}
function RegisterListeners() {
RegisterListener('qt_begin', 'qt', 'qt', qtStateChanged);
RegisterListener('qt_play', 'qt', 'qt', qtStateChanged);
RegisterListener('qt_pause', 'qt', 'qt', qtStateChanged);
}
function qtStateChanged() {
alert("State Changed!");
}

该代码并不像它应该的那样干净——我应该将 qt 对象贯穿其中,但我想让它尽可能接近 Apple 的演示代码。

在 firefox 中,代码成功加载了 QuickTime 对象并开始播放流(根据自动播放选项),但我没有收到对 qtStateChanged() 的单个调用,即使我已经设置了 postdomevents 和 enablejavascript 参数集在 QuickTime 对象上。

在 Chrome 中,我获得了 QuickTime Logo ,但没有音频或控件。该对象报告 qt_begin 事件,我收到 JavaScript 警报。在 IE6 下(我们还有一些技术落后的客户),播放器加载,但自动播放选项不起作用,JavaScript 回调根本不起作用。

我也曾尝试通过 JavaScript 控制播放器,但仍然无济于事。以下是尝试暂停播放器的三个不同的 jQuery 语句。它们都不能在我测试过的三种浏览器中运行:

<p onclick="JavaScript:$(qt).Pause();">Suck it, Trebek</p>
<p onclick="JavaScript:$('#qt').Pause();">Suck it again, Trebek</p>
<p onclick="JavaScript:$('#plugin').Pause();">Suck it a third, Trebek</p>

有人对 JavaScript 和 QuickTime 之间的这种通信有任何见解吗?不是 10 年前写的教程将是一个很大的福音。

谢谢。

最佳答案

嵌入的 QuickTime 对象不是标准的 HTML 元素,它通过浏览器插件接口(interface)工作,它是由第 3 方提供商制作的,因此并非所有浏览器都拥有它。它一直支持非常差的 API 交互。据我所知,您无法从 QuickTime 对象中监听状态更改事件,因为它不够稳定并且无法通过几乎著名的浏览器使用。即使您幸运地使用 Safari,它也无法在 IE、Firefox、Opera 上运行...

祝你好运!

关于javascript - JavaScript 可以监听网页中嵌入的 QuickTime 对象的状态变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com