最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript中兼容主流瀏覽器的動態(tài)生成iframe方法

 更新時間:2014年05月05日 10:46:31   作者:  
這篇文章主要介紹了javascript中兼容主流瀏覽器的動態(tài)生成iframe方法,需要的朋友可以參考下

以下代碼在IE8下運(yùn)行通過,在IE9中出錯:

復(fù)制代碼 代碼如下:

document.createElement('<iframe id="yige-org-iframe" src="yige.org.logo.gif" style="position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;"></iframe>');

錯誤提示:exception : SCRIPT5022: DOM Exception: INVALID_CHARACTER_ERR (5)

思路分析:
第一步:兼容IE9,firefox,Opera,Safari等瀏覽器;

復(fù)制代碼 代碼如下:
var iframe = document.createElement("iframe");
iframe.setAttribute("id", "yui-history-iframe");
iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif");
iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;");


第二步:兼容IE6-8:由于ie6-8 不能修改iframe的name屬性

復(fù)制代碼 代碼如下:

var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + "/">") : document.createElement("iframe");
oFrame.name = "iframName";

綜合解決辦法:

復(fù)制代碼 代碼如下:

var isIE = (document.all) ? true: false; //這里僅僅簡單的對是否是IE進(jìn)行判斷,詳細(xì)瀏覽器判斷:請參考瀏覽器類型偵測
var ua = navigator.userAgent.toLowerCase().match(/msie ([/d.] + ) / )[1];
if (ua == "9.0") {
    isIE = false;
}
var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + " / ">") : document.createElement("iframe");oFrame.name = "iframName";
//=========================

function ajaxpost(formid, showid, waitid, showidclass, submitbtn, recall) {
    var waitid = typeof waitid == 'undefined' || waitid === null ? showid : (waitid !== '' ? waitid : '');
    var showidclass = !showidclass ? '' : showidclass;
    var ajaxframeid = 'ajaxframe';
    var ajaxframe = $(ajaxframeid);
    var formtarget = $(formid).target;

    var handleResult = function() {
        var s = '';
        var evaled = false;

        showloading('none');
        try {
            s = $(ajaxframeid).contentWindow.document.XMLDocument.text;
        } catch (e) {
            try {
                s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.wholeText;
            } catch (e) {
                try {
                    s = $(ajaxframeid).contentWindow.document.documentElement.firstChild.nodeValue;
                } catch (e) {
                    s = '內(nèi)部錯誤,無法顯示此內(nèi)容';
                }
            }
        }

        if (s != '' && s.indexOf('ajaxerror') != -1) {
            evalscript(s);
            evaled = true;
        }
        if (showidclass) {
            $(showid).className = showidclass;
            if (submitbtn) {
                submitbtn.disabled = false;
            }
        }
        if (!evaled && (typeof ajaxerror == 'undefined' || !ajaxerror)) {
            ajaxinnerhtml($(showid), s);
        }
        ajaxerror = null;
        if ($(formid)) $(formid).target = formtarget;
        if (typeof recall == 'function') {
            recall();
        } else {
            eval(recall);
        }
        if (!evaled) evalscript(s);
        ajaxframe.loading = 0;
        $('append_parent').removeChild(ajaxframe);
    };
    if (!ajaxframe) {
        try {
            ajaxframe = document.createElement('<iframe name="' + ajaxframeid + '" id="' + ajaxframeid + '"></iframe>');
        } catch (e) {
            ajaxframe = document.createElement('iframe');
            ajaxframe.name = ajaxframeid;
            ajaxframe.id = ajaxframeid;
        }
        ajaxframe.style.display = 'none';
        ajaxframe.loading = 1;
        $('append_parent').appendChild(ajaxframe);
    } else if (ajaxframe.loading) {
        return false;
    }

    _attachEvent(ajaxframe, 'load', handleResult);

    showloading();
    $(formid).target = ajaxframeid;
    $(formid).action += '&inajax=1';
    $(formid).submit();
    return false;
}

相關(guān)文章

最新評論

色达县| 仁化县| 宜春市| 通渭县| 柳河县| 根河市| 深泽县| 兴宁市| 尉犁县| 屏东市| 五大连池市| 华安县| 苗栗县| 岳西县| 平潭县| 庆云县| 酒泉市| 洪雅县| 洪泽县| 临清市| 社会| 威海市| 宁波市| 富平县| 罗江县| 嘉荫县| 涿州市| 云龙县| 太谷县| 大荔县| 娄烦县| 双牌县| 呼图壁县| 磐安县| 南投县| 稷山县| 黄龙县| 泰来县| 乌兰察布市| 射阳县| 鹤山市|