0

jQuery 1.9 より前のバージョンでは、簡単なチェックを使用して Internet Explorer が使用されているかどうかを確認し、ie7 および ie8 で iframe を適切にレンダリングするために必要な属性をいくつか追加していました。もちろん、これらの属性はもはや有効ではありません。絶対に必要でない限り、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になり、代わりにモダナイザーを使用することを提案していますが、モダナイザーがここで必要なことを達成できるとは思いません。これを検出してiFrameを正しくレンダリングできるようにmodernizrで知らない方法はありますか、それともブラウザを検出してiFrameに適用するために純粋なjavascriptを実行する必要がありますか?

4

1 に答える 1

0

私はこの素敵な小さな機能を使用することになりました。純JS。

var Browser = {
  Version: function() {
    var version = 0;
    if (navigator.appVersion.indexOf("MSIE") != -1)
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
}
于 2013-04-12T16:42:53.020 に答える