使用哈希值更改视频源仅适用于其中一个标记。
例如mywebsite.com/video.php
将显示默认视频,如果我转到mywebsite.com/video.php#video1
,它将更改为视频-1,但如果我转到mywebsite.com/video.php#video2
,则仍会显示视频1。
<script>
// test all possible places hash could be on different browsers
if(window.location.hash){
hash = window.location.hash;
} else if (document.location.hash){
hash = document.location.hash;
} else if (location.hash){
hash = location.hash;
}
// some browsers start the hash with #, remove it for consistency
if(hash.substring(0,1) == '#'){
hash = hash.substring(1,hash.length);
}
if(hash = '#video1'){
document.getElementById('myVideo') .src=a = "http://mywebsite.com/videos/video-1.mp4";
}
if(hash = '#video2'){
document.getElementById('myVideo') .src=a = "http://mywebsite.com/videos/video-2.mp4"";
}
</script>
<video id="myVideo" controls>
<source src="http://mywebsite.com/videos/video-default.mp4">
</video>
我该如何解决这个问题?有没有更好的方法来使用某种id更改src路径?
答案 0 :(得分:1)
您应该使用=
==
。即使您在#
的开头删除了hash
,您仍然会将其包含在比较字符串中。
if (hash == 'video1') {
document.getElementById('myVideo') .src=a = "http://mywebsite.com/videos/video-1.mp4";
} else if (hash == 'video2') {
document.getElementById('myVideo') .src=a = "http://mywebsite.com/videos/video-2.mp4"";
}