如果OR语句var = true,则写入文档

时间:2014-11-22 23:32:20

标签: javascript if-statement var

Javascript真的不是我的强项,所以只是寻求一些帮助来解决这个问题。

我需要使用针对IE& amp;的平滑滚动脚本。铬。我知道现在进行UserAgent检查几乎是徒劳的,我的需求不适合做浏览器功能检测的模式。我也不能用条件评论来定位IE gte 10,所以我还是试图做一些浏览器黑客攻击。

我发现browserhacks.com资源提供了针对特定版本或浏览器版本范围的变量,因此我可以创建应用于这些浏览器的一揽子逻辑。

所以在当下,我正在使用这些:

适用于Chrome

var isChrome = !!window.chrome && !!window.chrome.webstore;

对于IE

var isIE = document.all && window.XMLHttpRequest;
var isIE = document.body.style.msTouchAction !== undefined;

我假设我需要创建一个“IF”“OR”语句来涵盖所有这些,然后参与:

document.write('<script src="js/smooth-scrolling.js"><\/script>');

这就是我所拥有的:

<script type="text/javascript">
    var isChrome = !!window.chrome && !!window.chrome.webstore;
    var isIE = document.all && window.XMLHttpRequest;
    var isIE = document.body.style.msTouchAction !== undefined;
    document.write('<script src="js/smooth-scrolling.js"><\/script>');
</script>

这适用于将平滑滚动应用于IE&amp; Chrome,但它也将它应用于Firefox,我不希望这样,因为Firefox已经有非常流畅的原生滚动,并且该脚本实际上会降低Firefox中的滚动性能。

然后我尝试了(我确定无力的尝试):

<script type="text/javascript">
    if (var isChrome = !!window.chrome && !!window.chrome.webstore) {
        document.write('<script src="js/smooth-scrolling.js"><\/script>')
    }

    if (var isIE = document.all && window.XMLHttpRequest) {
        document.write('<script src="js/smooth-scrolling.js"><\/script>')
    }

    if (var isIE = document.body.style.msTouchAction !== undefined) {
        document.write('<script src="js/smooth-scrolling.js"><\/script>')
    }
</script>

......那就是打破一切。只是试图让脚本在不打击每个浏览器的情况下进行操作。

1 个答案:

答案 0 :(得分:1)

不要使用document.write();您必须创建一个新的脚本元素并将其添加到DOM中。

var isChrome = !!window.chrome && !!window.chrome.webstore;
if(isChrome){
  var s=document.createElement('script');
  s.src='source_to-Your_JS.js';
  document.head.appendChild(s);
}