检查 Facebook 是否被阻止然后重定向 [重复]

2023-11-21

可能的重复:
通过 JavaScript 检查网站是否正常运行的最佳方法是什么

我们即将通过 Facebook 页面开展一项活动。理想情况下,我们希望将用于此活动的网址(例如 www.oursite.com/campaign)将所有流量重定向到我们的 Facebook 网址(例如 www.facebook.com/example)。然而,许多工作场所网络会阻止社交媒体网站,因此在自动重定向之前,我想首先检查用户的网络是否允许 Facebook:如果是,则重定向到 Facebook;如果是,则重定向到 Facebook。如果没有,请继续访问我们的网址 (www.oursite.com/campaign)。

任何帮助将不胜感激,

瑞安 (我对 PHP 没问题,对 javascript 很陌生)


脸书SDK方法

由于您需要检查用户是否有权访问 facebook,因此您可以尝试初始化脸书软件开发工具包并以此为基础你的逻辑

根据文件window.fbAsyncInit函数在 SDK 成功初始化时调用,因此您可以通过以下方式实现您的效果:

var campaignLink = "http://www.oursite.com/campaign";

window.fbAsyncInit = function() {
    // facebook sdk initialized, change link
    campaignLink = "http://www.facebook.com/example";
}

请注意,这都是理论上的且未经测试的,您可能需要在此处阅读更多内容

https://developers.facebook.com/docs/reference/javascript/

网站图标方法

此函数尝试加载所提供 URL 的 favicon.ico 文件,并将其作为该网站是否可(由用户)访问的指示器。它假设一个网站有一个网站图标,但您可以轻松地将其更改为您知道存在的另一个图像..(例如 facebook 徽标)

function isSiteOnline(url,callback) {
    // try to load favicon
    var timer = setTimeout(function(){
        // timeout after 5 seconds
        callback(false);
    },5000)

    var img = document.createElement("img");
    img.onload = function() {
        clearTimeout(timer);
        callback(true);
    }

    img.onerror = function() {
        clearTimeout(timer);
        callback(false);
    }

    img.src = url+"/favicon.ico";
}

用法是,

isSiteOnline("http://www.facebook.com",function(found){
    if(found) {
        // site is online
    }
    else {
        // site is offline (or favicon not found, or server is too slow)
    }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 Facebook 是否被阻止然后重定向 [重复] 的相关文章

  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • 绑定到 Xamarin Forms 中的附加属性

    如何绑定到 Xamarin Forms XAML 中的附加属性 这不起作用 但它可以编译并且最有意义 BindingContext x Binding Source x Reference ControlName Path XMLNameS
  • Zend 框架清除缓存

    我正在使用此代码在 zend 框架中缓存数组 frontendOptions array lifetime gt 24 3600 7 cache lifetime of 7 day automatic serialization gt tr
  • 绘制对数分类网络度分布

    我经常遇到并从复杂网络中制作长尾度分布 直方图 如下图所示 从许多观察来看 它们使这些尾巴的末端很重 非常重和拥挤 然而 我读过的许多出版物都有更清晰的度分布 在分布末尾没有这种聚集 并且观察结果的间隔更均匀 如何使用以下方法制作这样的图表
  • Topshelf 窗口服务在尝试启动服务时出现错误 1053

    我使用 Topshelf 开发了一个 Windows 服务 它在本地运行良好 当我部署测试并尝试启动服务时 出现以下错误 Error 1053 The service did not respond to the start or cont
  • Bash:循环遍历名称中包含模式的变量

    在我的脚本中 我有未知数量的包含角度的变量 我想将它们转换为向量 我创建了变量名称 使每个 参数 的角度具有以下形式 参数 角度 纬度 纬度 因此 每个参数都有一个 lat 和 perp 角度变量 所以我想做的是找到包含 angle lat
  • 如何在C++中获取动态数组的大小[重复]

    这个问题在这里已经有答案了 通过输入大小并将其存储到 n 变量中来编写动态数组的代码 但我想从模板方法获取数组长度而不是使用 n int a NULL Pointer to int initialize to nothing int n S
  • ASP.Net:在 Page_Load 中调用异步方法

    我有一个 API 客户端 它有一个发送方法 用于将我的对象发布到 Web API 服务并返回 ReturnedResults 类型的对象 现在我需要在 ASP net page load 事件中运行此 post 方法 我在这里看到了类似的示
  • 保护图片下载

    我知道保护图像下载的最佳方法首先就是不要将其放在互联网上 我认为没有 100 的防止图像下载的保护 如果用户可以在互联网上看到图像 他可以通过一些经验找到下载它的权限 我知道透明 gif or png覆盖图像或使用background im
  • 为什么macos(x86)可以运行docker arm容器arm64v8/alpine?

    我碰巧发现我的macos x86 可以为arm镜像arm64v8 alpine运行docker容器 但有以下警告 docker run it arm64v8 alpine uname a WARNING The requested imag
  • JavaFX完全定制windows?

    我想要一个完全自定义窗口外观的应用程序 到目前为止 我已经了解到可以使用以下方法删除典型的窗口内容 class Application extends javafx application Application Starts the ap
  • 通过 Eclipse Kepler 启动 tomcat v7 时遇到问题

    我看到像我这样的问题以前已经发布过 其中一些帖子已得到解答 我已经尝试过修复 看起来确实应该有效 但我仍然遇到同样的问题 我正在尝试通过本地主机上的 apache tomcat 7 0 53 在 Eclipse Kepler Java EE
  • 两个子图的单个颜色条会更改其中一个子图的大小

    我正在尝试添加一个colorbar两个人matshow主要使用以下代码here and here 我的代码现在如下 但问题是颜色条调节了右侧绘图的大小 我怎样才能防止这种情况发生 import numpy as np import matp
  • 如何比较大文本文件?

    我有一个关于你对我的 技术 的看法的一般性问题 有 2 个文本文件 file 1 and file 2 需要相互比较 两者都非常巨大 3 4 GB 每个从 30 000 000 到 45 000 000 行 我的想法是阅读几行 尽可能多 f
  • 查询计算连续事件之间的平均时间

    我的问题是如何编写 SQL 查询来计算连续事件之间的平均时间 我有一张小桌子 event Name Time stage 1 10 01 stage 2 10 03 stage 3 10 06 stage 1 10 10 stage 2 1
  • 运行时在 Highcharts 图表中添加按钮

    我需要添加一些自定义按钮 带有 onclick 事件 而不覆盖导出按钮值 因为我想包含新按钮 而不会丢失图表中先前定义的自定义按钮 我的图表已经定义了自定义按钮 所有这些都在运行时进行 在使用此对象的 Highcharts 图表中 容器 h
  • 我不想在 DatePicker 中显示消息“选择日期”

    我不想在 DatePicker 的文本框中显示 选择日期 但我想看到这样的内容 或其他文本 这是我的资源
  • 什么是“file_like_object”,什么是“文件”; pickle.load() 和 pickle.loads()

    我正在弄清楚两者之间的差异pickle load and pickle loads 有人说那是什么样的物体pickle load 进程是 file like object 但是 pickle loads 对应于 文件对象 您选择使用哪个函数
  • Internet Explorer 在哪里存储其加载项?

    我检查了整个注册表 但找不到所有已安装扩展的任何列表 此时 IE 扩展 附加组件的任何常规位置都会有所帮助 取自here 浏览器辅助对象 旨在增强浏览器功能的浏览器插件 条目可以在注册表中找到 HKEY LOCAL MACHINE Soft
  • Vim 文本着色

    I use echo e为了给我的脚本输出着色 它在使用标准输出时工作得很好 但是当我将输出重定向到文件时 vim不显示颜色 而是显示这样的标志 例子 echo e e 32m Green message e 0m echo e e 31m
  • 检查 Facebook 是否被阻止然后重定向 [重复]

    这个问题在这里已经有答案了 可能的重复 通过 JavaScript 检查网站是否正常运行的最佳方法是什么 我们即将通过 Facebook 页面开展一项活动 理想情况下 我们希望将用于此活动的网址 例如 www oursite com cam