嵌入式 Javascript 作为 Base64 替换源 link 不会加载

Embeded Javascript as Base64 replacing source link does not load

纯文本javascriptinserting/replacing视频源url。

<video width="320" height="240" controls="controls">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source src="" type="video/mp4" />
<!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
<source src="" type="video/webm" />
<!-- Ogg/Vorbis for older Firefox and Opera versions -->
<source src="" type="video/ogg" />
</video>
<script type="text/javascript">
function qk_jrzTTxyrt(){
var kicuVCSAFejq="/1.mp4?md5=53FnPoZdBclGOd0NViQ8niAge9U&expires=1489000505";
var zRKPUndrbBQP=document.getElementsByTagName("source");
zRKPUndrbBQP[0].src=kicuVCSAFejq;
}
qk_jrzTTxyrt();
</script>

与上面相同,但它是 BASE64 编码 JAVASCRIPT

<video width="320" height="240" controls="controls">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source src="" type="video/mp4" />
<!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
<source src="" type="video/webm" />
<!-- Ogg/Vorbis for older Firefox and Opera versions -->
<source src="" type="video/ogg" />
</video>
<script type="text/javascript" src="data:text/javascript;base64,CmZ1bmN0aW9uIHFrX2pyelRUeHlydCgpewp2YXIga2ljdVZDU0FGZWpxPSIvMS5tcDQ/bWQ1PTUzRm5Qb1pkQmNsR09kME5WaVE4bmlBZ2U5VSZleHBpcmVzPTE0ODkwMDA1MDUiOwp2YXIgelJLUFVuZHJiQlFQPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzb3VyY2UiKTsKelJLUFVuZHJiQlFQWzBdLnNyYz1raWN1VkNTQUZlanE7Cn0KcWtfanJ6VFR4eXJ0KCk7"></script>

如果我使用纯文本 javascript 示例 javascript 执行并将视频 URL/HyperLink 插入到 HTML src="" 标签中就好了。

但是当我对 javascript 进行 base64 编码并使用我的 base64 编码示例执行完全相同的操作时,它不会将视频 URL/HyperLink 插入 HTML src=""标签。

谁能告诉我为什么 base64 javascript 不执行/运行 或工作。我一直在使用 Firefox 进行测试,我不知道这是否只是一个与浏览器相关的问题,而是希望有人能指出我做错了什么。

我解决了我的难题,事实证明,除了我使用的 Firefox 版本之外,所有其他浏览器都没有问题。

允许 Firefox 中的 base64 编码 JavaScript 替换 src="" HTML 标签的解决方案是延迟加载 JavaScript.

 <script type="text/javascript" src="data:text/javascript;base64,string" defer></script> 

http://www.w3schools.com/TAgs/att_script_defer.asp

<video width="320" height="240" controls="controls">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source src="" type="video/mp4" />
<!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
<source src="" type="video/webm" />
<!-- Ogg/Vorbis for older Firefox and Opera versions -->
<source src="" type="video/ogg" />
</video>
<script type="text/javascript" src="data:text/javascript;base64,CmZ1bmN0aW9uIHFrX2pyelRUeHlydCgpewp2YXIga2ljdVZDU0FGZWpxPSIvMS5tcDQ/bWQ1PTUzRm5Qb1pkQmNsR09kME5WaVE4bmlBZ2U5VSZleHBpcmVzPTE0ODkwMDA1MDUiOwp2YXIgelJLUFVuZHJiQlFQPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzb3VyY2UiKTsKelJLUFVuZHJiQlFQWzBdLnNyYz1raWN1VkNTQUZlanE7Cn0KcWtfanJ6VFR4eXJ0KCk7" defer></script>