SCRIPT70:权限被拒绝在IE9 API错误191 [英] SCRIPT70: Permission denied on IE9 api error 191

查看:191
本文介绍了SCRIPT70:权限被拒绝在IE9 API错误191的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到一个错误SCRIPT70 IE9上做 FB.login(功能(响应){})之后,我不使用iframe的这个脚本。我在得到一个错误:

在弹出给我一个

API错误code:191
 API错误描述:指定的URL不属于应用程序
 错误消息:无效REDIRECT_URI:给定的URL不是由应用程序配置允许


  

all.js的,行22字4250
  错误发生在setLoadedNode功能
  其中包含:


  FB.provide('',{
    用户界面:功能(F,B){
        如果(!f.method){
            FB.log(办法是FB.ui()必需的参数。');
            返回null;
        }
        如果((f.method =='permissions.request'|| f.method =='permissions.oauth)及及(f.display =='iframe的'|| f.display =='对话') ){
            VAR H;
            VAR我;
            如果(FB._oauth){
                H = f.scope;
                I = h.split(/ \\ s |,/ G);
            }其他{
                H = f.perms;
                I = h.split(,);
            }
            对于(VAR E = 0; e控制i.length,E ++){
                变种G = FB.String.trim(我[E]);
                如果(G&安培;&安培;!FB.initSitevars.iframePermissions [G]){
                    f.display ='弹出';
                    打破;
                }
            }
        }
        VAR一个= FB.UIServer prepareCall(F,B)。
        如果返回NULL(一!);
        变种D = a.params.display;
        如果(D ==='对话'){
            D ='IFRAME';
        }否则如果(D ==='无'),D ='隐藏';
        变种C = FB.UIServer [D];
        如果(!C){
            FB.log('显示器必须是弹出,一个+对话,IFRAME,摸,异步,隐藏或无');
            返回null;
        }
        C(一);
        返回a.dialog;
    }
});
FB.provide('UIServer',{
    方法: {},
    _loadedNodes:{},
    _defaultCb:{},
    _resultToken:'xxRESULTTOKENxx',
    _forceHTTPS:假的,
    genericTransform:功能(一){
        如果(a.params.display =='对话'|| a.params.display =='的iframe'){
            a.params.display ='IFRAME';
            a.params.channel = FB.UIServer._xdChannelHandler(a.id,'parent.parent');
        }
        返回;
    },
    prepareCall:功能(H,B){
        变种G = h.method.toLowerCase()
            F = FB.copy({},FB.UIServer.Methods并[g]),
            E = FB.guid()
            C =(f.noHttps ==真!)及和放大器; (FB._https ||(G =='auth.status'和;!&安培;!G ='login.status'));
        FB.UIServer._forceHTTPS = C;
        FB.copy(h时,{
            API_KEY:FB._apiKey,
            APP_ID:FB._apiKey,
            区域:FB._locale,
            SDK:乔伊,
            的access_token:C&功放;&安培; FB.getAccessToken()||未定义
        });
        h.display = FB.UIServer.getDisplayMode(F,H);
        如果(!使用f.url)=使用f.url对话框/+克;
        VAR A = {
            CB:B,
            ID:E,
            大小:f.size || FB.UIServer.getDefaultSize(),
            网址:FB.getDomain(?C'https_www':'WWW')使用f.url +,
            forceHTTPS:C,
            params:一个小时,
            名称:克,
            对话:新FB.Dialog(五)
        };
        变种J = f.transform? f.transform:FB.UIServer.genericTransform;
        如果(J){
            一个= j的(一);
            如果(一个!)回报;
        }
        变种D = f.getXdRelation || FB.UIServer.getXdRelation;
        VAR我= D(a.params);
        如果((在FB.UIServer._defaultCb a.id)及!&安培;!(在a.params'下一步'))a.params.next = FB.UIServer._xdResult(a.cb,a.id,我,真正的);
        如果(我===父)a.params.channel_url = FB.UIServer._xdChannelHandler(即'parent.parent');
        。一个= FB.UIServer prepareParams(一);
        返回;
    },
    prepareParams:函数(){
        变种C = a.params.method;
        如果删除a.params.method(FB.Canvas.isTabIframe()!);
        如果(FB.TemplateUI&安培;&安培; FB.TemplateUI.supportsTemplate(C,A)){
            如果(FB.reportTemplates)的console.log(+ C +为模板的使用,);
            FB.TemplateUI.useCachedUI(C,A);
        }其他{
            a.params = FB.JSON.flatten(a.params);
            变种B = FB.QS.en code(a.params);
            如果(FB.UIServer.urlTooLongForIE(a.url + B)){
                a.post = TRUE;
            }否则如果(B)a.url + ='?' + B;
        }
        返回;
    },
    urlTooLongForIE:功能(一){
        返回则为a.length> 2000;
    },
    getDisplayMode:功能(A,B){
        如果(b.display ==='隐藏'|| b.display ==='无')的返回b.display;
        如果(FB.Canvas.isTabIframe()及和放大器; b.display =='弹出'!)回报异步;
        如果(FB.UA.mobile()|| b.display ==='触摸')返回'触摸';
        如果(FB.getAccessToken()及!&安培; b.display =='对话'和;&安培;!a.loggedOutIframe){
            ('当用户连接只能用对话模式。')FB.log;
            返回'弹出';
        }
        如果(a.connectDisplay&安培;&安培;!FB._inCanvas)返回a.connectDisplay;
        返回b.display || (FB.getAccessToken()'对话':'弹出'?);
    },
    getXdRelation:功能(B){
        VAR一个= b.display;
        如果(一个==='弹出'||一个==='触摸')返回'开门红';
        如果(一个==='对话'||一个===IFRAME'|| ===一个隐藏||一个==='无')返回父;
        如果(一个===异步)返回parent.frames ['+ window.name +']';
    },
    弹出:功能(B){
        VAR一个= typeof运算window.screenX!=未定义? window.screenX:window.screenLeft,
            I = typeof运算window.screenY!=未定义? window.screenY:window.screenTop,
            G = typeof运算window.outerWidth!=未定义? window.outerWidth:document.documentElement.clientWidth,
            F = typeof运算window.outerHeight!=未定义? window.outerHeight:(document.documentElement.clientHeight - 22)
            K = FB.UA.mobile()?空:b.size.width,
            D = FB.UA.mobile()?空:b.size.height,
            H =(A&小于0)? window.screen.width +一:一,
            E = parseInt函数(H +((G - K)/ 2),10)
            J = parseInt函数(1 +((F - D)/ 2.5),10)
            C = [];
        如果(K == NULL!)c.push('宽='+ K);
        如果(D!== NULL)c.push('高度='+ D);
        c.push(左='+ E);
        c.push('顶='+ J);
        c.push('滚动= 1');
        如果(b.name =='permissions.request'|| b.name =='permissions.oauth')c.push('位置= 1,工具栏= 0');
        C = c.join(,);
        如果(b.post){
            FB.UIServer.setLoadedNode(B,window.open('关于:空白',b.id,C));
            FB.Content.submitToTarget({
                网址:b.url,
                目标:b.id,
                params:一个b.params
            });
        }其他FB.UIServer.setLoadedNode(B,window.open(b.url,b.id,C));
        如果(在FB.UIServer._defaultCb b.id)FB.UIServer._popupMonitor();
    },
    setLoadedNode:功能(A,B){
        FB.UIServer._loadedNodes [a.id] = B;
        如果(a.params)b.fbCallID = a.id;
    },
    getLoadedNode:功能(一){
        返回FB.UIServer._loadedNodes [a.id]
    },
    隐藏:函数(){
        a.className ='FB_UI_Hidden';
        a.root = FB.Content.appendHidden('');
        FB.UIServer._insertIframe(一);
    },
    IFRAME:函数(){
        a.className ='FB_UI_Dialog';
        变种B =功能(){
                FB.UIServer._triggerDefault(a.id);
            };
        a.root = FB.Dialog.create({
            OnClose中:B,
            closeIcon:真实,
            类:(FB.UA.iPad()'中心'?'')
        });
        如果(a.hideLoader!)FB.Dialog.showLoader(B,a.size.width);
        FB.Dom.addCss(a.root,'fb_dialog_iframe');
        FB.UIServer._insertIframe(一);
    },
    异步:函数(){
        a.frame = window.name;
        删除a.url;
        删除a.size;
        FB.Arbiter.inform('的ShowDialog',一);
    },
    getDefaultSize:功能(){
        如果(FB.UA.mobile())如果(FB.UA.iPad()){
            返回{
                宽度:500,
                身高:590
            };
        }其他{
            VAR一个= window.innerWidth / window.innerHeight> 1.2;
            返回{
                宽度:window.innerWidth,
                高度:(?window.innerHeight,(一screen.width:screen.height))Math.max
            };
        }
        返回{
            宽度:575,
            身高:240
        };
    },
    _insertIframe:功能(B){
        FB.UIServer._loadedNodes [b.id] = FALSE;
        风险价值=功能(C){
                如果(在FB.UIServer._loadedNodes b.id)FB.UIServer.setLoadedNode(B,C);
            };
        如果(b.post){
            FB.Content.insertIframe({
                网址:关于:空白,
                根:b.root,
                产品类别:b.className,
                宽度:b.size.width,
                高度:b.size.height,
                ID:b.id,
                onInsert:一,
                onload事件:功能(C){
                    FB.Content.submitToTarget({
                        网址:b.url,
                        目标:c.name,
                        params:一个b.params
                    });
                }
            });
        }其他FB.Content.insertIframe({
            网址:b.url,
            根:b.root,
            产品类别:b.className,
            宽度:b.size.width,
            高度:b.size.height,
            ID:b.id,
            名称:b.frameName,
            onInsert:一
        });
    },
    _handleResizeMessage:功能(B,A){
        变种C = FB.UIServer._loadedNodes [B]。
        如果(a.height)c.style.height = a.height +'像素';
        如果(a.width)c.style.width = a.width +'像素';
        FB.Arbiter.inform('resize.ack',一个|| {},parent.frames ['+ c.name +']',真);
        如果FB.Dialog.show(三)(FB.Dialog.isActive(三)!);
    },
    _triggerDefault:功能(一){
        FB.UIServer._xdRecv({
            框架:一
        },FB.UIServer._defaultCb [A] ||
        功能(){});
    },
    _popupMonitor:功能(){
        风险价值;
        对(在FB.UIServer._loadedNodes变种b)如(FB.UIServer._loadedNodes.hasOwnProperty(二)及;和b在FB.UIServer._defaultCb){
            变种C = FB.UIServer._loadedNodes [B]。
            尝试{
                如果(c.tagName)继续;
            }赶上(D){}
            尝试{
                如果(c.closed){
                    FB.UIServer._triggerDefault(二);
                }否则一= TRUE;
            }赶上(E){}
        }
        如果(一个或放大器;&放大器;!FB.UIServer._popupInterval){
            FB.UIServer._popupInterval = window.setInterval(FB.UIServer._popupMonitor,100);
        }否则如果(A和!&放大器; FB.UIServer._popupInterval){
            window.clearInterval(FB.UIServer._popupInterval);
            FB.UIServer._popupInterval = NULL;
        }
    },
    _xdChannelHandler:功能(B,C){
        变种一个=(FB.UIServer._forceHTTPS&放大器;&放大器; FB.UA.ie()== 7!);
        返回FB.XD.handler(功能(D){
            变种E = FB.UIServer._loadedNodes [B]。
            如果(E!)回报;
            如果(d.type =='调整'){
                FB.UIServer._handleResizeMessage(B,D);
            }否则如果(d.type =='隐藏'){
                FB.Dialog.hide(E);
            }否则如果(d.type =='呈现'){
                变种F = FB.Dialog._findRoot(E);
                FB.Dialog.show(F);
            }否则如果(d.type =='fireevent')FB.Event.fire(d.event);
        },C,真实,空,一);
    },
    _xdNextHandler:功能(A,B,D,C){
        如果(C)FB.UIServer._defaultCb并[b] =一个;
        返回FB.XD.handler(函数(五){
            FB.UIServer._xdRecv(E,A);
        },D)+'&放大器;帧='+ B;
    },
    _xdRecv:功能(B,A){
        变种C = FB.UIServer._loadedNodes [b.frame]
        尝试{
            如果(FB.Dom.containsCss(三,'FB_UI_Hidden')){
                window.setTimeout(函数(){
                    c.parentNode.parentNode.removeChild(c.parentNode);
                },3000);
            }否则如果(FB.Dom.containsCss(三,'FB_UI_Dialog')){
                FB.Dialog.remove(C);
                如果(FB.TemplateUI&放大器;&放大器; FB.UA.mobile())FB.TemplateUI.populateCache();
            }
        }赶上(D){}
        尝试{
            如果(c.close){
                c.close();
                FB.UIServer._popupCount--;
            }
        }赶上(E){}
        删除FB.UIServer._loadedNodes [b.frame]
        删除FB.UIServer._defaultCb [b.frame]
        一(二);
    },
    _xdResult:功能(A,B,D,C){
        回报(FB.UIServer._xdNextHandler(函数(五){
            一个与放大器;&放大器;一个(e.result&放大器;&放大器;!e.result = FB.UIServer._resultToken&放大器;&放大器; FB.JSON.parse(e.result));
        },B,D,C)+'&放大器;结果='+ EN codeURIComponent(FB.UIServer._resultToken));
    }
});

我增加了整条生产线22美化
有没有人有这个问题?

感谢您


解决方案

看来当前的URL路径必须是画布URL下你在你的Facebook应用程序设置中设置了身份验证对话框工作。

这是奇怪的,因为像小部件将工作正常的任何地方!

I get an SCRIPT70 error on IE9 after doing FB.login(function(response){}) and I don't use iframes for this script. I get an error at:

the popup give me an

API Error Code: 191 API Error Description: The specified URL is not owned by the application Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.

all.js, line 22 character 4250 the error happens at the setLoadedNode function which contains:

FB.provide('', {
    ui: function (f, b) {
        if (!f.method) {
            FB.log('"method" is a required parameter for FB.ui().');
            return null;
        }
        if ((f.method == 'permissions.request' || f.method == 'permissions.oauth') && (f.display == 'iframe' || f.display == 'dialog')) {
            var h;
            var i;
            if (FB._oauth) {
                h = f.scope;
                i = h.split(/\s|,/g);
            } else {
                h = f.perms;
                i = h.split(',');
            }
            for (var e = 0; e < i.length; e++) {
                var g = FB.String.trim(i[e]);
                if (g && !FB.initSitevars.iframePermissions[g]) {
                    f.display = 'popup';
                    break;
                }
            }
        }
        var a = FB.UIServer.prepareCall(f, b);
        if (!a) return null;
        var d = a.params.display;
        if (d === 'dialog') {
            d = 'iframe';
        } else if (d === 'none') d = 'hidden';
        var c = FB.UIServer[d];
        if (!c) {
            FB.log('"display" must be one of "popup", ' + '"dialog", "iframe", "touch", "async", "hidden", or "none"');
            return null;
        }
        c(a);
        return a.dialog;
    }
});
FB.provide('UIServer', {
    Methods: {},
    _loadedNodes: {},
    _defaultCb: {},
    _resultToken: '"xxRESULTTOKENxx"',
    _forceHTTPS: false,
    genericTransform: function (a) {
        if (a.params.display == 'dialog' || a.params.display == 'iframe') {
            a.params.display = 'iframe';
            a.params.channel = FB.UIServer._xdChannelHandler(a.id, 'parent.parent');
        }
        return a;
    },
    prepareCall: function (h, b) {
        var g = h.method.toLowerCase(),
            f = FB.copy({}, FB.UIServer.Methods[g]),
            e = FB.guid(),
            c = (f.noHttps !== true) && (FB._https || (g !== 'auth.status' && g != 'login.status'));
        FB.UIServer._forceHTTPS = c;
        FB.copy(h, {
            api_key: FB._apiKey,
            app_id: FB._apiKey,
            locale: FB._locale,
            sdk: 'joey',
            access_token: c && FB.getAccessToken() || undefined
        });
        h.display = FB.UIServer.getDisplayMode(f, h);
        if (!f.url) f.url = 'dialog/' + g;
        var a = {
            cb: b,
            id: e,
            size: f.size || FB.UIServer.getDefaultSize(),
            url: FB.getDomain(c ? 'https_www' : 'www') + f.url,
            forceHTTPS: c,
            params: h,
            name: g,
            dialog: new FB.Dialog(e)
        };
        var j = f.transform ? f.transform : FB.UIServer.genericTransform;
        if (j) {
            a = j(a);
            if (!a) return;
        }
        var d = f.getXdRelation || FB.UIServer.getXdRelation;
        var i = d(a.params);
        if (!(a.id in FB.UIServer._defaultCb) && !('next' in a.params)) a.params.next = FB.UIServer._xdResult(a.cb, a.id, i, true);
        if (i === 'parent') a.params.channel_url = FB.UIServer._xdChannelHandler(e, 'parent.parent');
        a = FB.UIServer.prepareParams(a);
        return a;
    },
    prepareParams: function (a) {
        var c = a.params.method;
        if (!FB.Canvas.isTabIframe()) delete a.params.method;
        if (FB.TemplateUI && FB.TemplateUI.supportsTemplate(c, a)) {
            if (FB.reportTemplates) console.log("Using template for " + c + ".");
            FB.TemplateUI.useCachedUI(c, a);
        } else {
            a.params = FB.JSON.flatten(a.params);
            var b = FB.QS.encode(a.params);
            if (FB.UIServer.urlTooLongForIE(a.url + b)) {
                a.post = true;
            } else if (b) a.url += '?' + b;
        }
        return a;
    },
    urlTooLongForIE: function (a) {
        return a.length > 2000;
    },
    getDisplayMode: function (a, b) {
        if (b.display === 'hidden' || b.display === 'none') return b.display;
        if (FB.Canvas.isTabIframe() && b.display !== 'popup') return 'async';
        if (FB.UA.mobile() || b.display === 'touch') return 'touch';
        if (!FB.getAccessToken() && b.display == 'dialog' && !a.loggedOutIframe) {
            FB.log('"dialog" mode can only be used when the user is connected.');
            return 'popup';
        }
        if (a.connectDisplay && !FB._inCanvas) return a.connectDisplay;
        return b.display || (FB.getAccessToken() ? 'dialog' : 'popup');
    },
    getXdRelation: function (b) {
        var a = b.display;
        if (a === 'popup' || a === 'touch') return 'opener';
        if (a === 'dialog' || a === 'iframe' || a === 'hidden' || a === 'none') return 'parent';
        if (a === 'async') return 'parent.frames[' + window.name + ']';
    },
    popup: function (b) {
        var a = typeof window.screenX != 'undefined' ? window.screenX : window.screenLeft,
            i = typeof window.screenY != 'undefined' ? window.screenY : window.screenTop,
            g = typeof window.outerWidth != 'undefined' ? window.outerWidth : document.documentElement.clientWidth,
            f = typeof window.outerHeight != 'undefined' ? window.outerHeight : (document.documentElement.clientHeight - 22),
            k = FB.UA.mobile() ? null : b.size.width,
            d = FB.UA.mobile() ? null : b.size.height,
            h = (a < 0) ? window.screen.width + a : a,
            e = parseInt(h + ((g - k) / 2), 10),
            j = parseInt(i + ((f - d) / 2.5), 10),
            c = [];
        if (k !== null) c.push('width=' + k);
        if (d !== null) c.push('height=' + d);
        c.push('left=' + e);
        c.push('top=' + j);
        c.push('scrollbars=1');
        if (b.name == 'permissions.request' || b.name == 'permissions.oauth') c.push('location=1,toolbar=0');
        c = c.join(',');
        if (b.post) {
            FB.UIServer.setLoadedNode(b, window.open('about:blank', b.id, c));
            FB.Content.submitToTarget({
                url: b.url,
                target: b.id,
                params: b.params
            });
        } else FB.UIServer.setLoadedNode(b, window.open(b.url, b.id, c));
        if (b.id in FB.UIServer._defaultCb) FB.UIServer._popupMonitor();
    },
    setLoadedNode: function (a, b) {
        FB.UIServer._loadedNodes[a.id] = b;
        if (a.params) b.fbCallID = a.id;
    },
    getLoadedNode: function (a) {
        return FB.UIServer._loadedNodes[a.id];
    },
    hidden: function (a) {
        a.className = 'FB_UI_Hidden';
        a.root = FB.Content.appendHidden('');
        FB.UIServer._insertIframe(a);
    },
    iframe: function (a) {
        a.className = 'FB_UI_Dialog';
        var b = function () {
                FB.UIServer._triggerDefault(a.id);
            };
        a.root = FB.Dialog.create({
            onClose: b,
            closeIcon: true,
            classes: (FB.UA.iPad() ? 'centered' : '')
        });
        if (!a.hideLoader) FB.Dialog.showLoader(b, a.size.width);
        FB.Dom.addCss(a.root, 'fb_dialog_iframe');
        FB.UIServer._insertIframe(a);
    },
    async: function (a) {
        a.frame = window.name;
        delete a.url;
        delete a.size;
        FB.Arbiter.inform('showDialog', a);
    },
    getDefaultSize: function () {
        if (FB.UA.mobile()) if (FB.UA.iPad()) {
            return {
                width: 500,
                height: 590
            };
        } else {
            var a = window.innerWidth / window.innerHeight > 1.2;
            return {
                width: window.innerWidth,
                height: Math.max(window.innerHeight, (a ? screen.width : screen.height))
            };
        }
        return {
            width: 575,
            height: 240
        };
    },
    _insertIframe: function (b) {
        FB.UIServer._loadedNodes[b.id] = false;
        var a = function (c) {
                if (b.id in FB.UIServer._loadedNodes) FB.UIServer.setLoadedNode(b, c);
            };
        if (b.post) {
            FB.Content.insertIframe({
                url: 'about:blank',
                root: b.root,
                className: b.className,
                width: b.size.width,
                height: b.size.height,
                id: b.id,
                onInsert: a,
                onload: function (c) {
                    FB.Content.submitToTarget({
                        url: b.url,
                        target: c.name,
                        params: b.params
                    });
                }
            });
        } else FB.Content.insertIframe({
            url: b.url,
            root: b.root,
            className: b.className,
            width: b.size.width,
            height: b.size.height,
            id: b.id,
            name: b.frameName,
            onInsert: a
        });
    },
    _handleResizeMessage: function (b, a) {
        var c = FB.UIServer._loadedNodes[b];
        if (a.height) c.style.height = a.height + 'px';
        if (a.width) c.style.width = a.width + 'px';
        FB.Arbiter.inform('resize.ack', a || {}, 'parent.frames[' + c.name + ']', true);
        if (!FB.Dialog.isActive(c)) FB.Dialog.show(c);
    },
    _triggerDefault: function (a) {
        FB.UIServer._xdRecv({
            frame: a
        }, FB.UIServer._defaultCb[a] ||
        function () {});
    },
    _popupMonitor: function () {
        var a;
        for (var b in FB.UIServer._loadedNodes) if (FB.UIServer._loadedNodes.hasOwnProperty(b) && b in FB.UIServer._defaultCb) {
            var c = FB.UIServer._loadedNodes[b];
            try {
                if (c.tagName) continue;
            } catch (d) {}
            try {
                if (c.closed) {
                    FB.UIServer._triggerDefault(b);
                } else a = true;
            } catch (e) {}
        }
        if (a && !FB.UIServer._popupInterval) {
            FB.UIServer._popupInterval = window.setInterval(FB.UIServer._popupMonitor, 100);
        } else if (!a && FB.UIServer._popupInterval) {
            window.clearInterval(FB.UIServer._popupInterval);
            FB.UIServer._popupInterval = null;
        }
    },
    _xdChannelHandler: function (b, c) {
        var a = (FB.UIServer._forceHTTPS && FB.UA.ie() !== 7);
        return FB.XD.handler(function (d) {
            var e = FB.UIServer._loadedNodes[b];
            if (!e) return;
            if (d.type == 'resize') {
                FB.UIServer._handleResizeMessage(b, d);
            } else if (d.type == 'hide') {
                FB.Dialog.hide(e);
            } else if (d.type == 'rendered') {
                var f = FB.Dialog._findRoot(e);
                FB.Dialog.show(f);
            } else if (d.type == 'fireevent') FB.Event.fire(d.event);
        }, c, true, null, a);
    },
    _xdNextHandler: function (a, b, d, c) {
        if (c) FB.UIServer._defaultCb[b] = a;
        return FB.XD.handler(function (e) {
            FB.UIServer._xdRecv(e, a);
        }, d) + '&frame=' + b;
    },
    _xdRecv: function (b, a) {
        var c = FB.UIServer._loadedNodes[b.frame];
        try {
            if (FB.Dom.containsCss(c, 'FB_UI_Hidden')) {
                window.setTimeout(function () {
                    c.parentNode.parentNode.removeChild(c.parentNode);
                }, 3000);
            } else if (FB.Dom.containsCss(c, 'FB_UI_Dialog')) {
                FB.Dialog.remove(c);
                if (FB.TemplateUI && FB.UA.mobile()) FB.TemplateUI.populateCache();
            }
        } catch (d) {}
        try {
            if (c.close) {
                c.close();
                FB.UIServer._popupCount--;
            }
        } catch (e) {}
        delete FB.UIServer._loadedNodes[b.frame];
        delete FB.UIServer._defaultCb[b.frame];
        a(b);
    },
    _xdResult: function (a, b, d, c) {
        return (FB.UIServer._xdNextHandler(function (e) {
            a && a(e.result && e.result != FB.UIServer._resultToken && FB.JSON.parse(e.result));
        }, b, d, c) + '&result=' + encodeURIComponent(FB.UIServer._resultToken));
    }
});

I added the entire line 22 beautified Has anyone had this problem?

thank you

解决方案

It seems the current url path must be under the "canvas url" you set in your facebook application settings for the auth dialog to work.

This is strange, because a like widget will work ok anywhere !

这篇关于SCRIPT70:权限被拒绝在IE9 API错误191的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆