我是AngularJS的新手,我有一个应用程序,我使用AngularJS在弹出窗口中播放YouTube视频。
问题在于,无论何时使用F5加载页面或从浏览器“重新加载”,加载youtube播放器的关联脚本都能正常工作,但每当我从我的应用程序导航到该页面时,该脚本都不会工作
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
videoId: 'iSCIesIM8Ww'
});
}
</script>
这是我想要加载的脚本每次查看页面时。
此外,我已将此脚本写入我的部分视图文件中。
我也使用了一个指令,但也没有解决问题。
答案 0 :(得分:1)
请在部分视图的元素上创建一个指令,并在你的指令中包含你的javascript视频。它将完美地用于此。
答案 1 :(得分:1)
在初始运行后没有任何东西可以触发脚本
这是因为AngularJS应用程序是“单页”应用程序,在应用程序内导航不会触发整页刷新(按设计)。这就是Angular路线出现在哈希符号
之后的原因
http://localhost:9000/#/myRoute
你在哪里放置你的指令?每次呈现指令时都会触发指令JS。如果指令代码没有再次运行,那是因为它没有被重新渲染。