0

我的 Heroku Facebook 应用程序(PHP 应用程序)有问题。似乎该应用程序加载到我的第一个 PHP 调用,这是我在应用程序的打开 JavaScript 中的一部分。这个应用程序不会在我的桌面上中断,但在将其切换出沙盒模式之前,它会在我的笔记本电脑上中断。它现在可以在我的笔记本电脑上运行,但不能在其他任何人的计算机上运行。这是我看到的(注意这是在标签内):

var xxxxxx;
  (function(d, t) {
    var s = d.createElement(t), options = {
    'userName':'userName', 
    'formHash':'xxxxxx', 
    'autoResize':true,
    'height':'563',
    'async':true,
    'header':'show', 
    'ssl':true,
    'defaultValues':'field1=<?php echo he(idx($basic, "first_name")); ?>&field2=<?php echo he(idx($basic, "last_name")); ?>&field3=<?php echo he(idx($basic, "email")); ?>&field7=<?php echo $basic["hometown"]["name"]; ?>&field6=<?php echo $basic["location"]["name"]; ?>'
    };
    s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'wufoo.com/scripts/embed/form.js';
    s.onload = s.onreadystatechange = function() {
    var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
    try {
      z7p9m3 = new WufooForm();
      z7p9m3.initialize(options);
      z7p9m3.display(); 
    } catch (e) {}
  };
    var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
  }) (document, 'script');

但是,当其他人加载应用程序时(即使他们被标记为开发人员),应用程序会中断并停止在此处加载内容:

var xxxxxx;
  (function(d, t) {
    var s = d.createElement(t), options = {
    'userName':'userName', 
    'formHash':'xxxxxx', 
    'autoResize':true,
    'height':'563',
    'async':true,
    'header':'show', 
    'ssl':true,
    'defaultValues':'field1=

您可以看到文件在应该自动填充表单的第一个 PHP 调用中中断。我不确定为什么会发生这种情况,我看到的与我的问题类似的唯一提示告诉我将应用程序退出沙盒模式(我这样做了)。这是该应用程序的链接:https ://apps.facebook.com/flgwaptest/ 。任何帮助将不胜感激,这似乎是一个我无法找到解决方案的奇怪问题。

4

1 回答 1

0

前一阵子想通了,忘记发了。简短的版本是(无论出于何种原因)浏览器在引用和访问数据的方式方面存在问题。从技术上讲,我能够访问我正在尝试的内容,它对我有用,但对其他人无效。这是修复:

'defaultValues':'field1=<?php echo he(idx($basic, "first_name")); ?>&field2=<?php echo he(idx($basic, "last_name")); ?>&field3=<?php echo he(idx($basic, "email")); ?>&field7=<?php echo $basic["hometown"]["name"]; ?>&field6=<?php echo $basic["location"]["name"]; ?>'

那行是问题所在,而不是尝试访问内联的值,我之前声明了变量,然后只是回显了这些值。它看起来像这样:

'defaultValues':'field1=<?php echo $fName; ?>&field2=<?php echo $lName; ?>&field3=<?php echo $email; ?>&field7=<?php echo $hometown; ?>&field6=<?php echo $location; ?>'

如您所见,我删除了浏览器部分可能出现的“/”混淆,这似乎解决了问题。

于 2013-08-29T01:26:01.737 回答