Php Facebook静态iframe应用程序lightbox

Php Facebook静态iframe应用程序lightbox,php,jquery,facebook,forms,lightbox,Php,Jquery,Facebook,Forms,Lightbox,我正在使用canvas iframe创建Facebook选项卡。客户想要的是(我对Facebook应用程序的创建非常不熟悉,尤其是现在它似乎在不断变化)有一个静态选项卡页面,该页面已经创建,并带有注册按钮。当用户点击该按钮时,他们想要一个类似Facebook的lightbox窗口,带有一个专有的注册表单,该表单将数据发送到他们的API脚本(PHP)。这可能吗?我不认为Facebook允许你在他们的网站上设置灯箱,但我可以在我的标签内设置吗?当尝试在同一iframe中包含jquery等或加载新窗口

我正在使用canvas iframe创建Facebook选项卡。客户想要的是(我对Facebook应用程序的创建非常不熟悉,尤其是现在它似乎在不断变化)有一个静态选项卡页面,该页面已经创建,并带有注册按钮。当用户点击该按钮时,他们想要一个类似Facebook的lightbox窗口,带有一个专有的注册表单,该表单将数据发送到他们的API脚本(PHP)。这可能吗?我不认为Facebook允许你在他们的网站上设置灯箱,但我可以在我的标签内设置吗?当尝试在同一iframe中包含jquery等或加载新窗口时(现在链接在新窗口中打开),它会给我一个错误?下面是静态页面的简单代码:

<?php  

require_once 'includes/facebook.php';  

$facebook = new Facebook(array(
  'appId'  => 'xxxx',
  'secret' => 'xxxx',
  'cookie' => true,
));

?>
<style type="text/css">
  div.wrapper {
   width:520px;
   height:542px;
   background:#006;
   background:url(bg1.jpg) 0 0 no-repeat;
  }
  div,h1,h2,h3,h4,h5,h6 {
   width:357px;
   margin:0 auto;
  }
  div.content {
   padding-top:145px;
  }
  div.content h1 {
   width:213px;
   height:27px;
   margin:0 auto 23px;
   text-indent:-499px;
   background:url(invited.jpg) 0 0 no-repeat;
  }
  h6 {
   font-size:12px;
   margin:0 auto;
   text-align:center;
   color:#000;
  }
  div.bullets ul {
   list-style-type:disc;
   list-style-position:inside;
   font-family:Arial;
   margin:5px auto 15px;
  }
  div.bullets ul li {
   color:#000;
   font-size:12px;
   margin:0 auto 5px 20px;
   /*letter-spacing:-1px;*/
  }
  div.bullets a {
   text-indent:-499px;
   display:block;
   margin: 18px auto 17px;
   width:96px;
   height:28px;
   background:url(button.jpg) 0 0 no-repeat;
  }
  div.links {
   width:331px;
   margin:0 auto;
   border-top:1px solid #000;
  }
  div.links ul {
   text-align:center;
   margin:13px auto 0;
   padding:0;
  }
  div.links ul li {
   width:331px;
   height:15px;
   padding:0 7px;
   display:inline;
  }
 </style>
 <div class="wrapper">
  <div class="content">
   <h1>You're Invited</h1>
   <h6>You're busy - so we'll get right to the bullet points:</h6>
   <div class="bullets">
    <ul>
     <li>Sign Off is a fresh, dynamic email delivered After Hours</li>
     <li>An evening de-brief of curated info that matters to you</li>
     <li>Scan-able, scroll-able, relevant and unforgettable</li>
     <li>A nightcap of today's news and tomorrow's to-do’s</li>
    </ul>
    <a href="signup.php">Sign Up</a>
   </div>
   <div class="links">
    <ul>
     <li><img src="bn.jpg" /></li>
     <li><img src="deals.jpg" /></li>
     <li><img src="events.jpg" /></li>
     <li><img src="sex.jpg" /></li>
     <li><img src="media.jpg" /></li>
    </ul>
   </div> 
  </div>
 </div>
 <script>
  window.fbAsyncInit = function() {
    FB.init({
      appId   : '<?php echo $facebook->getAppId(); ?>',
      session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
      status  : true, // check login status
      cookie  : true, // enable cookies to allow the server to access the session
      xfbml   : true // parse XFBML
    });

    // whenever the user logs in, we refresh the page
    FB.Event.subscribe('auth.login', function() {
      window.location.reload();
    });
  };

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

分区包装器{
宽度:520px;
身高:542px;
背景:#006;
背景:url(bg1.jpg)0 0无重复;
}
分区,h1,h2,h3,h4,h5,h6{
宽度:357px;
保证金:0自动;
}
部门内容{
填充顶部:145px;
}
分区内容h1{
宽度:213px;
高度:27px;
保证金:0自动23px;
文本缩进:-499px;
背景:url(invested.jpg)0 0不重复;
}
h6{
字体大小:12px;
保证金:0自动;
文本对齐:居中;
颜色:#000;
}
第二组{
列表样式类型:disc;
列表样式位置:内部;
字体系列:Arial;
利润率:5px自动15px;
}
李国荣分区{
颜色:#000;
字体大小:12px;
保证金:0自动5px20px;
/*字母间距:-1px*/
}
a组{
文本缩进:-499px;
显示:块;
利润率:18px自动17px;
宽度:96px;
高度:28px;
背景:url(button.jpg)0 0无重复;
}
部门链接{
宽度:331px;
保证金:0自动;
边框顶部:1px实心#000;
}
联邦图书馆部{
文本对齐:居中;
保证金:13px自动0;
填充:0;
}
李国荣分区{
宽度:331px;
高度:15px;
填充:0 7px;
显示:内联;
}
你被邀请了
您很忙-因此我们将直接讨论要点:
  • 签准是一封新鲜、动态的电子邮件,在数小时后发送
  • 对你来说很重要的策划信息的晚间简报
  • 可扫描、可滚动、相关且难忘
  • 今天的新闻和明天的待办事项
window.fbAsyninit=函数(){ FB.init({ appId:“”, 会话:,//当PHP已经有会话时,不要重新蚀刻该会话 状态:true,//检查登录状态 cookie:true,//启用cookie以允许服务器访问会话 xfbml:true//解析xfbml }); //每当用户登录时,我们都会刷新页面 FB.Event.subscribe('auth.login',function()){ window.location.reload(); }); }; (功能(){ var e=document.createElement('script'); e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js'; e、 异步=真; document.getElementById('fb-root').appendChild(e); }());
您不能在fanpage中使用jQuery,但您可以构建一个简单的模式,它看起来与普通JS(当然还有CSS)类似

另一个让人头疼的问题是,在用户信息以某种方式首先交互之前(比如按下按钮进行ajax调用或发送表单),他们不会共享用户信息。因此,在用户与fanpage交互之前,您不会有任何用户ID


我认为你应该尽量用fanpage保持它的简单性,如果你需要进一步的功能性,可以将用户发送到一个真正的facebook应用程序。这将节省您的时间和大量的麻烦:P

您不能在fanpage中使用jQuery,但您可以构建一个简单的模式,它看起来与普通JS(当然还有CSS)类似

另一个让人头疼的问题是,在用户信息以某种方式首先交互之前(比如按下按钮进行ajax调用或发送表单),他们不会共享用户信息。因此,在用户与fanpage交互之前,您不会有任何用户ID


我认为你应该尽量用fanpage保持它的简单性,如果你需要进一步的功能性,可以将用户发送到一个真正的facebook应用程序。这将节省您的时间和大量的诅咒:P

在使用DOM时,要考虑到这一点:请注意Facebook最近改变了这一点。他们现在接受FanPage中的iFrame。更多信息:当使用DOM时,要考虑到这一点:请注意Facebook最近改变了这一点。他们现在接受FanPage中的iFrame。更多信息: