Note that there are some explanatory texts on larger screens.

plurals
  1. POErrors in IE 8 from connect.facebook.net/en_US/all.js caused by credits callback
    text
    copied!<p><strong>Setup:</strong><br> Got a working facebook app and am correctly setup for facebook credits transactions (i.e. everything on the serverside is working fine).<br> In Firefox and chrome transactions complete without issue, however in IE8 the callback upon completing/closing the purchase dialog throws the following errors:</p> <p><strong>Error 1:</strong> </p> <pre><code>Line: 52 Error: Object doesn't support this property or method Object doesn't support this property or method JScript - script block, line 52 character 37 </code></pre> <p>Where the function it points to is: </p> <pre><code>ui: function( params ) { obj = FB.JSON.parse( params ); method = obj.method; cb = function( response ) { FBAS.getSwf().uiResponse( FB.JSON.stringify( response ), method ); } FB.ui( obj, cb ); }, </code></pre> <p>Specifically highlighting this bit: </p> <pre><code>FBAS.getSwf().uiResponse( FB.JSON.stringify( response ), method ) </code></pre> <p>in the <a href="http://connect.facebook.net/en_US/all.js" rel="nofollow">http://connect.facebook.net/en_US/all.js</a> file</p> <p><strong>Error 2:</strong><br> Line: 65 Error: Object doesn't support this action<br> Object doesn't support this action all.js, line 65 character 2198</p> <p>[The line it points to is a stupidly long unformatted unreadable mess so I'll omit it unless requested]</p> <p>Specifically highlighting this bit: </p> <pre><code>delete d._old_visibility </code></pre> <p>again in the <a href="http://connect.facebook.net/en_US/all.js" rel="nofollow">http://connect.facebook.net/en_US/all.js</a> file</p> <p>The html I'm using (with the app identifying stuffs removed) is as follows:</p> <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="https://www.facebook.com/2008/fbml"&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt; &lt;meta http-equiv="Expires" content ="0" /&gt; &lt;meta http-equiv="Pragma" content ="no-cache" /&gt; &lt;meta http-equiv="Cache-Control" content ="no-cache" /&gt; &lt;title&gt;[ APP NAME ]&lt;/title&gt; &lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="fb-root"&gt;&lt;/div&gt; &lt;script type="text/javascript"&gt; $(document).ready ( function() { var appId = [ APP ID ]; var host = [ APP HOST ]; // If the user did not grant the app authorization go ahead and // tell them that. Stop code execution. if (0 &lt;= window.location.href.indexOf ("error_reason")) { $(document.body).append ("&lt;p&gt;Authorization denied!&lt;/p&gt;"); return; } // Loads the Facebook SDK script. (function(d) { var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document)); // When the Facebook SDK script has finished loading init the // SDK and then get the login status of the user. The status is // reported in the handler. window.fbAsyncInit = function() { //debugger; FB.init( { appId : appId, status : true, cookie : true, oauth : true, }); FB.getLoginStatus (onCheckLoginStatus); }; // Handles the response from getting the user's login status. // If the user is logged in and the app is authorized go ahead // and start running the application. If they are not logged in // then redirect to the auth dialog. function onCheckLoginStatus (response) { if (response.status != "connected") { top.location.href = "https://www.facebook.com/dialog/oauth?client_id=" + appId + "&amp;redirect_uri=" + encodeURIComponent (host+"[ RELATIVE APP PATH ]") + "&amp;scope=publish_stream,user_about_me,read_friendlists,user_photos"; } else { // Start the application loadGame(); } } } ); function loadGame() { var flashvars = {}; var params = {}; var attributes = {}; params.allowscriptaccess = "always"; attributes.id = 'flashContent'; attributes.name = 'flashContent'; swfobject.embedSWF("[ APP SWF ]?"+Math.floor(Math.random()*10000), "flashContent", "100%", "99%", "10.0", null, flashvars, params, attributes); } &lt;/script&gt; &lt;div id="flashContent" &gt; Loading... &lt;/div&gt; &lt;/body&gt; </code></pre> <p></p> <p>This is just a problem for IE 8 but is stopping the app going live since a significant number of users transactions would fail (or rather would complete, be charged and not take effect due to the failed callback).<br> For the past few days I've been searching for others with this or a similar problem but to no avail.<br> I've seen some similar issues where people are warned about javascript variables being created globally and causing interfereance or variables being names using keywords reserved in IE but as far as I can tell neither is the case here. The facebook javascript code is fairly boilerplate stuff lifted from facebook dev pages and reliable sources. It may be JQuery (which I have little experience with), however, again, this is lifted from working examples and if there is a problem I can't see it.</p> <p>Can anyone help? </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload