如何在 Facebook 中嵌入 iframe?

2024-05-05

我的一位同事为我们工作的公司维护着一个 Facebook 页面。

该公司希望在他们的 Facebook 上放置一个小部件,以允许用户输入他们的电子邮件并订阅我们的时事通讯。

做 Facebook 的同事不是程序员,所以他让我做一些东西。

我制作了一个小页面,它使用 jquery 和 ajax 来允许您输入您的电子邮件地址,然后它使用 ajax 将其发送到我们的服务器,这样您就永远不会离开您所在的页面。

我们想使用 iframe 将此页面嵌入到 Facebook 上。

首先我们只是尝试进入iframe,但没有成功,

然后我们找到了一个教程并尝试按照它所说的方式嵌入 iframe:

<a onClick="outside_location.setInnerFBML(link_1);" style="cursor: pointer;">Let's see that iframe....</a>
<div id="outside_location"></div>
<fb:js-string var="link_1">
<fb:iframe height="500" allowTransparency="true" frameborder="0" scrolling="no" style="width:100%; border:none" src="http://URL-TO-OUTSIDE-LOCATION"></fb:iframe>
</fb:js-string>

<script type="text/javascript" charset="utf-8">
var outside_location = document.getElementById('outside_location');
</script>

看起来 facebook 正在将一些东西附加到我们的变量中,所以link_1变成类似的东西a325461252_link_1

然后我们会得到这样的 JS 错误:

未捕获的参考错误: a325461252_link_1 未定义

但每隔一段时间它就会起作用,但 99% 的时间我们都会遇到这个错误。

我以前从未为 Facebook 构建过任何东西,我不确定 Facebook 是否有某种做事的方式。

我做错了什么吗?我做了很多谷歌搜索试图找到答案,但我发现的一切都从“facebook不允许iframe”到“facebook推荐iframe”,所以我真的不知道该怎么想。


检查您的应用程序是否设置为 FBML 应用程序而不是 Iframe 应用程序。默认情况下,iframe 应用程序不会扩展 fb:... 标签。还要检查 DOM(Chrome 或 Firebug),看看当您单击链接时 Dom 是否发生更改,但 iframe 不可见。

我刚刚测试了以下内容并且它有效:

<hr/>
<a onClick="outside_location.setInnerFBML(location_two);" style="cursor: pointer;">Other IFrame Location</a>
<div id="outside_location" width="540" height="270" >
  <fb:iframe width="540" height="270" frameborder="1" src="http://www.yahoo.com" />
</div>

<fb:js-string var="location_two">
    <fb:iframe width="540" height="270" frameborder='1' src='http://www.google.com' />
</fb:js-string>

<script type="text/javascript" charset="utf-8">
  var outside_location = document.getElementById('outside_location');
</script> 

如果您只想将 iFrame 添加到应用程序画布,那么您可以简单地使用这一行:

<fb:iframe width="720" height="570" frameborder="1" src="http://www.yahoo.com" />

或者只需将应用程序从 FBML 画布应用程序更改为 iFrame 应用程序,并将 Canvas 回调和连接 URL 指向当前页面或页面目录。如果您不使用 Facebook 的 API 或 FBML 元素,那么您可能根本不需要使用 FBML 应用程序。

顺便说一句:要以编程方式在 Facebook 中添加 iframe,您可以使用 JavaScript,如下所示:

<script type="text/javascript">

    var Iframe = document.createElement('iframe');
    Iframe.setStyle('smartsize','true');
    Iframe.setStyle('frameborder','yes');
    Iframe.setStyle('scrolling','no');
    Iframe.setStyle('include_fb_sig','true');
    Iframe.setStyle('width','500px');
    Iframe.setStyle('height','500px');
    Iframe.setSrc("http://www.msn.com");
    document.getRootElement().appendChild(Iframe);

</script>

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Facebook 中嵌入 iframe? 的相关文章

随机推荐

  • python 2.7 字符 \u2013 [重复]

    这个问题在这里已经有答案了 我有以下代码 coding utf 8 print u William Burges 1827 81 was an English architect and designer 当我尝试从cmd运行它时 我收到以
  • 如何转到材料日历视图中选定的日期?

    我在用着材料日历视图 https github com prolificinteractive material calendarview在我的项目中 我可以使用 setSelectedDate 方法更改日期的选择 我有一个 今天选择 按钮
  • 全局主题目录的 iis 快速路径

    我正在使用 Visual Studio 2010 SP1 ASP NET Webforms Framework NET 3 5 和IIS 快递 也称为 WebMatrix 我在 Visual Studio 中使用我的网站收到以下编译错误 T
  • 当模式在范围内时使用 sed 打印范围?

    我有一个充满查询的日志文件 我只想查看有错误的查询 日志条目类似于 path to file executing query QUERY SIZE ROWS MSG DURATION 我想打印所有这些东西 但只有当MSG 包含一些有趣的内容
  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • GWT 和 Web 服务 (wsdl)

    谁能告诉我一种从 GWT 客户端访问 WSDL Web 服务的方法 这可能吗 Thanks 智能网关 http www smartclient com product index jsp支持 WSDL 数据源 除此之外 您始终可以将 WSD
  • JavaScript 和数据库连接

    javascript可以直接访问数据库吗 我觉得我的问题是反问 因为这是一个安全问题 但这有可能吗 有可能的 有了新的html5功能 js可以通过WebSql连接 一个活生生的例子 http html5demos com database
  • 仅打印 drupal field_view_field 值

    我使用下面的代码将节点字段打印到特定区域 效果很好 但有一个例子 我只想打印没有标签的字段值 看起来应该很容易 但我遇到了一些麻烦 我很感激任何帮助 因为我对 drupal 还很陌生 谢谢 field view value 需要一个 dis
  • c# 如何在注册表中写入十六进制值,而不是十进制值?

    如何在注册表中写入 DWORD 十六进制值 而不是像此代码示例中那样的十进制值 RegistryKey key Registry LocalMachine key klase CreateSubKey SYSTEM CurrentContr
  • 是使用多个数据库各有一个架构更好,还是一个数据库有多个架构更好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 After 这条评论 https stackoverflow com questions 1130555 postgresql pitr bac
  • 如何使用 django-haystack 和 elasticsearch 后端进行模糊搜索?

    看起来好像elasticsearch支持模糊查询 http www elasticsearch org guide reference query dsl fuzzy query http www elasticsearch org gui
  • 使用 TFS 2010 的团队是否需要 Active Directory?

    我是 TFS 2010 的新手 希望在一个由 2 3 名远程人员组成的团队的小型项目中公平地尝试一下 是否要求我的所有团队用户都属于 Active Directory 网络设置 或者我可以让我的团队成员松散耦合并能够使用用户名 密码登录吗
  • Android SDK 缺少命令行工具

    我已经安装了flutter但当我跑步时flutter doctor为了验证安装 我得到 Android SDK is missing command line tools 我已经仔细检查了命令行是否已安装 我需要做什么才能消除此错误 我已经
  • 垂直滚动不适用于 Mobile Safari

    由于某些原因 当我在移动 Safari iOS 9 1 iPhone 5 Safari 8 1 上访问我的网站时 垂直滚动无法正常工作 https sleepy anchorage 3222 herokuapp com https slee
  • Google BigQuery:检索每行的最后版本

    我有一个 Google BigQuery 表 其中包含所有版本的资源 每次创建 更新 删除资源时 都会添加一个新行 并递增版本号 该数字将是添加行时的时间戳 ID ResourceID Action Count Timestamp ABC
  • 使用节点http代理转发http代理

    我正在使用 node http proxy 库来创建转发代理服务器 我最终计划使用一些中间件来动态修改 html 代码 这就是我的代理服务器代码的样子 var httpProxy require http proxy httpProxy c
  • 没有 OutputInterface 的 Symfony2 控制台输出

    我正在尝试使用 Symfony 控制台命令将一些信息打印到控制台 通常你会做这样的事情 protected function execute InputInterface input OutputInterface output name
  • 嵌入式+实时开发培训的建议[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在学习嵌入式实时工程职业 但发现找到好的培训材料有些困难 特别是因为您无法像桌面应用程序开发那
  • 使用 BeagleBone Black 内核 >= 3.8 打开/关闭 USB 电源

    我需要 关闭 gt 睡眠几秒钟 gt 打开 beaglebone black 的 USB 电源 能够对连接到 USB 的设备 华为 E220 调制解调器 进行硬件重置 已经尝试过软重置 使用取消绑定 绑定和授权0 1 但软件重置不足以使设备
  • 如何在 Facebook 中嵌入 iframe?

    我的一位同事为我们工作的公司维护着一个 Facebook 页面 该公司希望在他们的 Facebook 上放置一个小部件 以允许用户输入他们的电子邮件并订阅我们的时事通讯 做 Facebook 的同事不是程序员 所以他让我做一些东西 我制作了