搜索

首页  >  问答  >  正文

javascript - 一个觉得奇怪的问题,什么情况下需要浏览器执行vbs才可以?

刚我在看QQ空间V8的代码,看到一个奇怪的地方。就是有一段js需要判断浏览器是否支持vbs。那为什么需要判断这个?js不能代替vbs。

        var s=location.host.split(".");
            if(s.length>1){
                document.domain=s.slice(s.length-2).join(".");
            }else{
                document.close();
            }
            var b=false,
                GBEncoder,
                setting = parent.QZFL.XHR.instance[frameElement.id.replace("_xsend_frm_","")];

            if (setting && setting.charset.toUpperCase() == "GB2312") {
                try {
                    if (window.execScript) {
                        execScript("b=(Asc('啊')=-20319)", "vbscript");
                    }
                } catch (ignore) {
                    b = false;
                }
                if (!b) {
                    document.write('<script type="text/javascript" src="' + setting.GBEncoderPath + 'gbencoder.js"><\/script>');
                } else {
                    document.write('<script language="vbscript" src="' + setting.GBEncoderPath + 'gbencoder.vbs"><\/script>');
                    GBEncoder = function(s){
                        return URLEncoding(s);
                    };
                }
            }else{
                GBEncoder=function(s){return s;};
            }
天蓬老师天蓬老师2774 天前696

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-04-10 12:50:42

    猜不透。

    估计是一些历史的原因,可能有些老的组件仍然依赖vbs?

    回复
    0
  • 怪我咯

    怪我咯2017-04-10 12:50:42

    在很久很久以前。。。IE(好吧也只有 IE 支持 VBS?)的 AJAX 是固定死 UTF8 的,国内却一大堆 GB2312 的服务器,然后在浏览器里又只有 VBS 能转换编码。。。于是就这样了。

    回复
    0
  • 取消回复