1
yyfearth 2013-03-16 23:24:33 +08:00 1
可以用document.write插入这段代码
<script> if (!/MSIE/.test(navigator.userAgent)){ document.write("<script src='这段代码的JS'><\/script>"); } </script> 或者后端检测UA,为IE返回一个特别的版本 |
2
s20011301 OP 我不太懂編程. 請問是這樣嗎? 我將上面的代碼全部放到 "这段代码的JS"
<script> if (!/MSIE/.test(navigator.userAgent)){ document.write("<script src='<script type="text/javascript" ><!-- document.write(unescape('%3Cscript%20type%3D%22text/javascript%22%20src%3D%22http%3A//scmplayer.net/script.js%22%20%3E%3C/script%3E')); //--></script> <script type="text/javascript"><!-- SCMMusicPlayer.init("{'skin':'skins/blue/skin.css','playback':{'autostart':'true','shuffle':'true','volume':'50'},'playlist':[{'title':'%u611B%u3068%u4F1A%u3046','url':'http://www.fileden.com/files/2007/2/11/760403/SCM%20player/01.mp3'}],'placement':'top','showplaylist':'false'}"); //--></script>'><\/script>"); } </script> 但沒用啊~~ |
4
s20011301 OP 就是把1樓的代碼,用記事本存成.JS,然後放在網上,取得連結,然後放到那個" '这段代码的JS'" 吧?
但是請問2樓(下面)的代碼,是不是完全正確的? 因為加入之後,我的頁面頂部出現這些符號? ---> \/script>");} <script> if (!/MSIE/.test(navigator.userAgent)){ document.write("<script src='这段代码的JS'><\/script>"); } </script> |
5
s20011301 OP 求助~~
|
7
rephaslife 2013-03-18 14:08:39 +08:00
是 `<!--[if IE]>...<![endif]-->` 吧
|
8
s20011301 OP 不行啊. 就算什麼也不加,直接運行下面的:
<script> if (!/MSIE/.test(navigator.userAgent)){ document.write("<script src=''></script>"); } </script> 最後頁面還是顯示 --------> "); } 似乎代碼有問題. |
9
s20011301 OP 回#7,
對,但那會使chrome 也無法運行. |
10
yangg 2013-03-19 10:24:53 +08:00
<!--[if !IE]><-->
只有不是ie浏览器才能看到这里 <![endif]--> http://www.cnblogs.com/sohighthesky/archive/2010/03/05/ie-conditional-comments.html |
11
momou 2013-03-19 12:08:10 +08:00
@s20011301 不好意思,上面看错了,一楼的方法没有问题,代码也没有问题。
完整的方法应该是,已测试: 一、在页面插入如下代码 <script> if (!/MSIE/.test(navigator.userAgent)){ document.write("<script src='a.js'><\/script>"); } </script> 二、把下面的代码保存为a.js上传 document.write(unescape('%3Cscript%20type%3D%22text/javascript%22%20src%3D%22http%3A//scmplayer.net/script.js%22%20%3E%3C/script%3E')); window.onload=function(){SCMMusicPlayer.init("{'skin':'skins/blue/skin.css','playback':{'autostart':'true','shuffle':'true','volume':'50'},'playlist':[{'title':'%u611B%u3068%u4F1A%u3046','url':'http://www.fileden.com/files/2007/2/11/760403/SCM%20player/01.mp3'}],'placement':'top','showplaylist':'false'}");} |
12
s20011301 OP 請問<script src='a.js'> 裡面的 a.js 是放那個a.js的網址嗎?
我試用百度網盤的下載連結: http://www.baidupcs.com/file/fb99056e2cf3bafc0c941afa344394be?fid=839268968-250528-19982811&time=1363690160&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203-Brrk%2FZHQFLVMw3uSFedqmGU49oI%3D&expires=8h&sh=1&response-cache-control=private 不行丫. 存在位置在此: http://pan.baidu.com/share/link?shareid=404814&uk=839268968 |
13
s20011301 OP 會出現這些代碼在頁面 <\/script>");}
|
14
momou 2013-03-20 09:41:34 +08:00
@s20011301 不是你自己的空间?
那就这样,直接插入以下代码: <script> if (!/MSIE/.test(navigator.userAgent)){ document.write(unescape('%3Cscript%20type%3D%22text/javascript%22%20src%3D%22http%3A//scmplayer.net/script.js%22%20%3E%3C/script%3E')); window.onload=function(){SCMMusicPlayer.init("{'skin':'skins/blue/skin.css','playback':{'autostart':'true','shuffle':'true','volume':'50'},'playlist':[{'title':'%u611B%u3068%u4F1A%u3046','url':'http://www.fileden.com/files/2007/2/11/760403/SCM%20player/01.mp3'}],'placement':'top','showplaylist':'false'}");} } </script> |
15
skydiver 2013-03-20 10:17:16 +08:00
楼上正解,字符串里面的script标签还是需要escape一下的。
|
16
s20011301 OP |
17
yyfearth 2013-03-21 21:39:28 +08:00
@momou
@s20011301 用 "<\/script>" 而不是 "</script>" 是因为后者会被JS引擎误认为是脚本结束导致出错。 解决办法一般是写成前者,因为两者完全等同。或者把string分开:"</s"+"cript>" 还有个办法就是用encodeURI,变化一下,类似lz用的unescape,但是unescape已经被淘汰了,不应该再使用。 因此你上面可以写成 document.write('<script type="text/javascript" src="http://scmplayer.net/script.js"><\/script>'); 不需要unescape |