浏览器检测 & Firefox data-src 属性

Posted

技术标签:

【中文标题】浏览器检测 & Firefox data-src 属性【英文标题】:Browser detection & Firefox data-src attribute 【发布时间】:2016-07-08 12:51:14 【问题描述】:

我希望在我的页面上嵌入浏览器检测,以便如果浏览器是 Firefox,我会启动不同的 iframe(区别在于 data-src 与 src),如此处所示。有人可以帮我在脚本部分进行哪些更改以使其正常工作吗?

 <script>
 // Firefox 1.0+
 var isFirefox = typeof InstallTrigger !== 'undefined';


 isFF = '<iframe   frameborder="0" scrolling="0" scrolling="no" horizontalscrolling="no"  verticalscrolling="no" **src**="../test.html"></iframe>';

notFF = '<iframe   frameborder="0" scrolling="0" scrolling="no" horizontalscrolling="no"  verticalscrolling="no" **data-src**="../test.html"></iframe>';

if(isFirefox = 'true') 

  window.load(isFF);
 else 
  window.load(notFF);


</script>

【问题讨论】:

你如何定义“火狐”?你们包括基于 Palemoon、Thunderbird 和 Gecko 的浏览器吗?如果我下载源代码,修改一点代码并自己编译呢? 永远不要进行浏览器嗅探。改用特征检测。 【参考方案1】:

我最终使用 Jquery 供其他人参考:

<script>

// Firefox 1.0+

if (isFirefox = typeof InstallTrigger !== 'undefined') 


$(function() 

     $("#browser-iframe iframe").replaceWith(function()
        return $('<iframe class="auto-resize"   frameborder="0" scrolling="0" scrolling="no" horizontalscrolling="no"  verticalscrolling="no" src="../youtubevideo.html"></iframe>');
    );


);


</script>

使用replaceWith,我替换了我想要的代码。

【讨论】:

检查InstallTrigger 似乎很不可靠。 navigator.userAgent 似乎是一个更好的主意。

以上是关于浏览器检测 & Firefox data-src 属性的主要内容,如果未能解决你的问题,请参考以下文章

如何检测我的浏览器是不是为 Firefox? [复制]

检测 JS 中的所有 Firefox 版本

有没有办法在过滤掉 iOS Chrome、Firefox 和其他浏览器的同时检测 iOS Safari?

Firefox 中的 Vue devtools 未检测到 Vue 3 应用程序

获取一个 Firefox 插件来检测和模仿检查 Apple Pay 支持的尝试

如何在 Firefox for Android 中检测 Android 的版本号?