2009-08-06 8 views
0

Je construis une application RoR pour facebook en utilisant FBML et la bibliothèque JavaScript Prototype. Ce que j'essaie de faire est d'avoir un div automatiquement actualisé, en utilisant le periodically_call_remote, qui crée un PeriodicalExecuter objet.periodically_call_remote: Rails AJAX pour une application facebook

est ici le code:

<%= render :partial => "status_item", :collection => @status %> 
<%= periodically_call_remote(:url => { :action => :status, :id => @hunt.id }, :update => 'status_div') %> 

je reçois 2 types d'erreurs:

  1. SyntaxError: Parse error « s sur fbml_static_get.php sur http://biascica.pipps.net:8888/javascripts/prototype.js?1246455754 et les goûts (effects.js et contrôles. js)

  2. ReferenceError « s: can't find variable a116508001384_PeriodicalExecuter

c'est le code javascript, tel que modifié par facebook:

new a116508001384_PeriodicalExecuter(function() {new a116508001384_Ajax.Updater('status_div', '/corinna_test/servers/ren%C3%A9/treasure_hunts/12/status', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + a116508001384_encodeURIComponent('qBY5jTvJ04rEcvLsQzkhNkEhRXN1wRA2ITrgq/4JmVg=')})}, 10) 

(remarquez comment ils en annexe a116508001384_ devant presque tout)

Je suis aussi obtenir iframex erreurs, mais je n » Je pense que c'est une priorité en ce moment.

Quelqu'un peut-il m'aider à comprendre ce gâchis?

merci! asymétrique

Répondre

1

Vous ne pouvez pas faire cela. Facebook a sa propre version restreinte de Javascript appelée Facebook Javascript (FBJS). Vous devez utiliser l'objet Ajax de Facebook. Le prototype de l'API ne fonctionnera pas avec FBJS. Vous devez utiliser FBJS ou placer votre application dans un iframe.

 

function doAjaxStuff() { 
    var ajax = new Ajax(); 
    var params = { param1: 'param1' }; 
    ajax.responseType = Ajax.FBML; 
    ajax.ondone = function(data) { $('div').setInnerFBML(data); }; 
    ajax.onerror = function() { $('div').setTextValue('error...'); }; 
    ajax.post(URL, params); 
} 
 
Questions connexes