繁体   English   中英

检测Internet Explorer并将自定义属性应用于iFrame

[英]Detecting Internet Explorer and applying custom attributes to an iFrame

在jQuery 1.9之前,我有一个通过页面上的一些javascript生成的iFrame,我使用一个简单的检查来查看是否正在使用Internet Explorer,并添加了一些必要的属性以使iframe在ie7和ie8中正确呈现。 当然这些属性中的哪一个不再有效,并且除非绝对必要,否则我不希望HTML中包含无效的代码,因此它们仅适用于ie8及以下版本。

var ieOldAttr = " ";
if ($.browser.msie && parseInt($.browser.version, 10) <= 8) {
    ieOldAttr = "allowTransparency=\"true\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" ";
} 

//Generate iFrame here
pageOutput += "<iframe id=\"feedbackiFrame\" src=\"URLHERE\"" + ieOldAttr + "style=\"border: none; overflow: hidden; height: 540px; width: 415px; position:absolute; left: 5px; top: 5px;\"><\/iframe>";

$(document).ready(function () {
    $(pageOutput).appendTo(document.body);
});

在jQuery 1.9中,他们不建议使用.browser ,而是建议使用modernizer,但是我不认为modernizr可以完成我在这里需要的工作。 有没有一种我在Modernizr中不了解的方法能够检测到并正确呈现iFrame,还是我需要做一些纯JavaScript来检测浏览器,然后将其应用于iFrame?

我最终使用了这个不错的小功能。 纯JS。

var Browser = {
  Version: function() {
    var version = 0;
    if (navigator.appVersion.indexOf("MSIE") != -1)
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM