我正在创建一个关于Elon Musk的致敬页面(对于freecodecamp.com),我想通过属性将他的游戏包含到我的页面中。是否可以将自动播放音频静音?我的页面网址:https://codepen.io/auginis/full/BdwBZW/ 游戏:https://blastar-1984.appspot.com/ 这是代码:
<iframe src="https://blastar-1984.appspot.com/" width="1000px" height="1000px">
<p>Sorry, your browser does not support this game</p>
</iframe>
答案 0 :(得分:0)
如果你可以使用Sachin的解决方案,那就去吧,但我很确定它只适用于媒体元素,它只是audio
和video
元素,最后我检查过了({{3 }})。但事情变化很快,所以也许你很幸运。
如果您无法在iframe级别更改它,那么您将遇到跨源问题。如果您可以控制要嵌入的应用的标头,spec就是您的朋友。如果您使用该标题放宽对游戏原始页面的限制,那么您的javascript只需要看起来像这样:
var iframe = document.querySelector('iframe[src="https://blastar-1984.appspot.com/"]');
// This code could probably be tidied up, depending on how familiar you are with the game code
iframe.contentDocument.getElementById("muted").checked = true;
iframe.contentWindow.speaker[0].muted = true
iframe.contentWindow.speaker[1].muted = true
但是,如果你没那么幸运,那么同样的原产地政策可能会让你失败。在这种情况下,我建议制作一个div,并在点击“播放”时将其替换为iframe(请参阅代码段中的懒惰CSS):X-Frame-Origins。这为您提供了额外的好处,即在用户不需要之前不加载内容(这对性能/移动浏览器有利)。
祝你好运!答案 1 :(得分:-1)
您可以通过JavaScript将其静音。
这是你的html iframe使用ID。
<iframe src="https://blastar-1984.appspot.com/" width="1000px" height="1000px" id="iframeId">
<p>Sorry, your browser does not support this game</p>
</iframe>
在getElementById
中添加您的iframe ID<script type="text/javascript">
myVid=document.getElementById("iframeId");
myVid.muted=true;
</script>
通过使用此功能,您可以将音频静音