我尝试了很多不同的方法来实现这一目标。我所拥有的是一个网站,我在页面顶部有一个流式广播播放器。通常我只有默认的给定脚本
<center>
<!--Wavestreaming.com SHOUTcast Flash Player-->
<script type="text/javascript" src="http://player.wavestreamer.com/cgi-bin/swf.js?id=A7GCMO5PSJJE1EC9"></script>.
<script type="text/javascript" src="http://www.syracusehiphop.com/wp-content/uploads/2012/04/scriptfornoflashtext.js.txt"></script>
</center>
当然,它适用于所有桌面浏览器,但是当有人来自IPAD或平板电脑时,我希望他们也可以听。
所以我使用的是简单的HTML5代码,但当然它只适用于移动浏览器,所以现在台式机浏览器不会播放它,除非我提供多种MIME类型,但我无法提供。
所以我尝试了多个“ELSE IF”代码并且无法得到它,我得到的是在移动设备或平板电脑浏览器上显示HTML5,然后默认脚本和HTML5在桌面上相互堆叠
这是我最近的尝试
<script type="text/javascript">
$(document).ready(function()
{
if ( $.browser.msie )
{
<center> <!--Wavestreaming.com SHOUTcast Flash Player-->
<script type="text/javascript" src="http://player.wavestreamer.com/cgi-bin/swf.js?id=A7GCMO5PSJJE1EC9"></script>.
<script type="text/javascript" src="http://www.syracusehiphop.com/wp-content/uploads/2012/04/scriptfornoflashtext.js.txt"></script>
</center>
}
else if ( $.browser.mozilla )
{
<center>
<!--Wavestreaming.com SHOUTcast Flash Player-->
<script type="text/javascript" src="http://player.wavestreamer.com/cgi-bin/swf.js?id=A7GCMO5PSJJE1EC9"></script>.
<script type="text/javascript" src="http://www.syracusehiphop.com/wp-content/uploads/2012/04/scriptfornoflashtext.js.txt"></script>
</center>
}
else if ( $.browser.webkit || $.browser.safari )
{
<center>
<!--Wavestreaming.com SHOUTcast Flash Player-->
<script type="text/javascript" src="http://player.wavestreamer.com/cgi-bin/swf.js?id=A7GCMO5PSJJE1EC9"></script>.
<script type="text/javascript" src="http://www.syracusehiphop.com/wp-content/uploads/2012/04/scriptfornoflashtext.js.txt"></script>
</center>
}
else if ( $.browser.opera )
{
<center>
<!--Wavestreaming.com SHOUTcast Flash Player-->
<script type="text/javascript" src="http://player.wavestreamer.com/cgi-bin/swf.js?id=A7GCMO5PSJJE1EC9"></script>.
<script type="text/javascript" src="http://www.syracusehiphop.com/wp-content/uploads/2012/04/scriptfornoflashtext.js.txt"></script>
</center>
}
else if ( $mobile_browser )
{
<audio controls="controls">
<source src="http://delicious.wavestreamer.com:3057/listen.pls" type="audio/mpeg" />
</audio>
})
</script>
答案 0 :(得分:2)
您不能将HTML标记放在javascript中。
您最好的选择是首先检查移动浏览器,然后在这种情况下应用移动代码。如果您只是为所有桌面浏览器使用相同的代码,则无需检查每个浏览器。
尝试使用此代替html标记:
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = url;
$("#someElement").append( script );
(来自Can't append <script> element)
我建议阅读jQuery和javascript如何工作,以及它们如何与DOM交互。 http://www.w3schools.com/js/js_intro.asp是一个很好的起点。