升华JavaScript
我一直在使用它,我已经为我正在开发的网站做了很多 我有15-20个视频,我正通过SublimeVideo在一个网站上以基本方式成功地使用,通过在用户单击的页面上有一个链接,当单击时,视频在SublimeVideo灯箱中打开并开始播放 但现在,我需要为这些视频创建“较短的URL”,这些视频可以以印刷出版物和电子邮件的形式发送,用户可以被带到网站查看,而不仅仅是视频文件 理想情况下,我只希望在一个页面url中使用id/数据uid和一个标签,并让所选视频在lightbox中自动启动“n”play。这似乎是不可能的 我可以用一个隐藏了视频标签的页面来解决这个问题,让标签取消隐藏并在URL中播放。如果这一切都不顺利的话,也许我会走老路,为每个视频制作一个页面,然后把它嵌入到页面中 无论如何,在浏览了所有的文档页面、论坛和搜索网页之后,我只找到了几个选项——这两个选项都不起作用。我将它们粘贴到下面: 首先,以下是我在所有视频中使用的HTML示例:升华JavaScript,javascript,video,hash,Javascript,Video,Hash,我一直在使用它,我已经为我正在开发的网站做了很多 我有15-20个视频,我正通过SublimeVideo在一个网站上以基本方式成功地使用,通过在用户单击的页面上有一个链接,当单击时,视频在SublimeVideo灯箱中打开并开始播放 但现在,我需要为这些视频创建“较短的URL”,这些视频可以以印刷出版物和电子邮件的形式发送,用户可以被带到网站查看,而不仅仅是视频文件 理想情况下,我只希望在一个页面url中使用id/数据uid和一个标签,并让所选视频在lightbox中自动启动“n”play。这似
<p class=""><a href="#video1" class="sublime" data-autoresize="fit">video1 text link on page</a></p>
<video id="video1" data-uid="video1" title="video1 description" poster="/assets/images/video1.jpg" width="1084" height="574" style="display:none" data-autoresize="fit" preload="none">
<source src="/assets/videos/video1.mp4" />
</video>
我想我可以简单地为第一个视频创建URL:
http://example.com/resources/index.php#video1
……甚至更好
http://example.com/resources#video1
…并对所有其他视频ID进行跟踪
为了实现这一目标,我尝试了:
<script type="text/javascript">
sublimevideo.ready(function()
{
if (window.location.hash == '#video1') {
sublime('video1').play();
} else
if (window.location.hash == '#video2') {
sublime('video2').play();
} else
if (window.location.hash == '#video3') {
sublime('video3').play();
}
});
</script>
sublimitevideo.ready(函数()
{
if(window.location.hash='#video1'){
崇高('video1')。play();
}否则
if(window.location.hash='#video2'){
升华('video2')。play();
}否则
if(window.location.hash='#video3'){
升华('video3')。play();
}
});
…那不行。出于某种原因,无论页面上的第一个视频是什么,它都可以工作,但我所说的“工作”是指,它将其取消隐藏并使其可播放,而不是在lightbox中打开并自动播放
因此,我在共享文档区域发现了如下代码:
<script type="text/javascript">
var hashtag = "#video1";
var hashtag = "#video2";
var hashtag = "#video3";
if (document.location.hash == hashtag) {
showTheVideo(hashtag);
}
function showTheVideo(hashtag) {
}
</script>
var hashtag=“#video1”;
var hashtag=“#video2”;
var hashtag=“#video3”;
if(document.location.hash==hashtag){
显示视频(标签);
}
函数showTheVideo(hashtag){
}
…但这也不行
知道JavaScript的人能帮我解释一下吗?我将把解决这个问题的代码放在这里,希望有一天它能帮助其他人搜索并找到它 通过将下面的代码放在页面的头部,在
<script type="text/javascript" src="//cdn.sublimevideo.net/js/UniqueIDprovidedInYourAccountGoesHere.js"></script>
……并提出:
RewriteRule ^resources$ resources.php [L]
…在同一目录中的.htaccess文件中,我可以让用户更轻松地执行以下操作:
http://example.com/resources#video=interview2
据我所知,下面添加的JavaScript会找到散列,然后查找“video=”,然后获取其后的任何内容,如果它在“a”标记中找到匹配的“id”,那么它会告诉它通过在lightbox中启动该视频来执行SublizeVideo操作。太棒了
<script type="text/javascript">
$(document).ready(function () {
var lochash = location.hash.substr(1);
var mylocation = lochash.substr(lochash.indexOf('video='))
.split('&')[0]
.split('=')[1];
sublime.ready(function () {
var lightbox = sublime.lightbox(mylocation);
lightbox.open();
});
});
</script>
$(文档).ready(函数(){
var lochash=location.hash.substr(1);
var mylocation=lochash.substr(lochash.indexOf('video='))
.split('&')[0]
.split('=')[1];
升华准备就绪(函数(){
var灯箱=崇高灯箱(mylocation);
lightbox.open();
});
});
以下是HTML部分(供参考):
另请注意:我通过反复试验发现,URL中“#video=”后面的视频名称必须与“A”标记中的“ID”相同,而不是“video”标记!因此,您会注意到两者之间的“id=”是(并且需要)不同的。“video”标记中的“id=”与“href=”相同
http://example.com/resources#video=interview2
<script type="text/javascript">
$(document).ready(function () {
var lochash = location.hash.substr(1);
var mylocation = lochash.substr(lochash.indexOf('video='))
.split('&')[0]
.split('=')[1];
sublime.ready(function () {
var lightbox = sublime.lightbox(mylocation);
lightbox.open();
});
});
</script>
<p class=""><a href="#video2" id="interview2" class="sublime" data-autoresize="fit">video2 text link on page that i left as reference for the user in case they close the video that was launched from the publication</a></p>
<video id="video2" data-uid="video2" title="video2 description" poster="/assets/images/interview2.jpg" width="1084" height="574" style="display:none" data-autoresize="fit" preload="none">
<source src="/assets/videos/interview2.mp4" />
</video>