简体   繁体   English

Safecracker(ExpressionEngine)在Facebook页面中不起作用

[英]Safecracker (ExpressionEngine) not working in Facebook page

I'm using ExpressionEngine and Safecracker to build a simple Facebook app that runs inside of a FB page. 我正在使用ExpressionEngine和Safecracker构建一个可在FB页面内运行的简单Facebook应用。

My code functions properly outside of the Facebook page, but inside the page it shows a blank screen. 我的代码在Facebook页面外部正常运行,但在页面内部显示空白屏幕。 I've been able to narrow it down to this piece of code: 我已经能够将其范围缩小到这段代码:

{exp:safecracker channel="lekker_fietsen_competitie" return="/"}
<input type="text" name="title" value=""><br>
<textarea name="description"></textarea><br>
<input type="file" name="image"><br>
<input type="submit">
{/exp:safecracker}

I'm guessing that Safecracker is somehow violating what I can and can not do inside a FB page, but I can't see what it is. 我猜想Safecracker某种程度上违反了我在FB页面中可以做的事情,但是我看不到它是什么。

Things I've tried: 我尝试过的事情:

  • hidden fields are allowed inside a FB page, they work properly, so they are not the cause of the problem 隐藏字段允许一个FB页面内,他们正常工作,所以他们不是问题的原因
  • the scripts and other stuff that's generated by Safecracker works inside the FB page; Safecracker生成的脚本和其他内容可在FB页面中使用; I've hard-coded all of it and there seems to be no problem if hard coded 我已经全部硬编码,如果硬编码似乎没有问题

You'd say the solution is easy: hard code the form. 您会说解决方案很简单:对表单进行硬编码。 But I can't, because the form has two fields like ExpressionEngine needs to write the entry: 但是我不能,因为该表单有两个字段,例如ExpressionEngine需要编写条目:

<input type="hidden" name="meta" value="cIssFx0NbcTnVxs7mWiSvwx0OwJ62c0KKoeGbZu8RMTHMJfNsv/OS0q8mtPh9HLmu/
    ru2n8a5J4S3wgyB8c+XWBdNfUrTCeWNrKYwDOxSkxB34I5UNN8XpVQt/
    wYc5FajtTx4VyGomwAHZ0vC7gXTxH4cYhU/zGx7S/UB6DgAyKk3cnl2f3+zbDId
    +KbU7msE0O1AJX3Nx7QaE6IpKJpXnQeiMISCHC1aOxJriZ/5eWIhqZdDz18rRbs4
    kdHCQ9RChFPtiB4rtjxque1CGylWj+OjiTaEVA68IVmC7c3AFrL9Wf4wxojOchPmlEx
    0W2OD5T/ERy0mV6GbCnkAZcQRdQjgjx3Rd7SQrXOO6u7gHh+vqrzw/y/y7dqlMz1LGmrj
    kdnOqdM/9bPej8Sp+3dCo2mDjf4WgCfLKze3P7XgLc=">
<input type="hidden" name="XID" value="1fba9120c5e00cfcb665bd0c7e147757b7888847">

So, where to go from here? 那么,从这里去哪里呢? What terms/guidelines might I be violating? 我可能会违反哪些条款/准则?

I submitted a ticket and did the following. 我提交了一张票,并进行了以下操作。 Naviagate to expressionengine -> libraries -> Cp.php and go to line 75. Ticket https://support.ellislab.com/bugs/detail/19663 导航到expressionengine->库-> Cp.php并转到第75行。票证https://support.ellislab.com/bugs/detail/19663

ee()->output->set_header('X-Frame-Options: SameOrigin');

Replace with 用。。。来代替

if (isset($_GET['D']) AND $_GET['D'] == 'cp')
{
    ee()->output->set_header('X-Frame-Options: SameOrigin');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM