好的,我在Javascript中有这段代码:
function fullWin() {
if (document.getElementById('embed').src = 'vid1.mov') {
window.open('vid1.html');
}
else if (document.getElementById('embed').src = 'vid2.mov') {
window.open('vid2.html');
}
}
我的问题是,当embed source等于vid2.mov时,源会更改为vid1.mov并打开vid1.html。我希望如果嵌入源等于vid2.mov,vid2.html打开并且viseversa。对于那些想要了解HTML代码的人。
<object height="100%" width="100%">
<embed id="embed" target="_top" src="Amelie.m4v" autostart="false" height="100%" width="100%" scale="tofit"></embed>
</object>
<div id="div8" onClick="fullWin()">Fullscreen</div>
答案 0 :(得分:3)
你需要使用两个=标志而不仅仅是一个。或者更好的是使用三个===。 More on comparison operators
var a = 1;
'0' == 0; // true, because '0' is converted to a number
'0' === 0; // false, because one is a string and one is a number
答案 1 :(得分:1)
if(document.getElementById('embed')。src ='vid1.mov')
即使正确使用比较运算符(==
或===
),这也无效。 src
元素的<emed>
属性返回已解析的绝对网址,例如http://www.example.com/vid1.mov
,而不是确切的原始属性值。
您可以使用getAttribute('src')
获取文字属性值,但不适用于IE; getAttributeNode('src').value
是一种解决方法,或者尝试.endsWith('vid1.mov')
,或类似:
window.open(document.getElementById('embed').src.replace('.mov', '.html');
我建议最近使用带有Flash后备的HTML5视频; <embed>
有些老套且有问题。