首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测JS是否在网站生成器中运行?

如何检测JS是否在网站生成器中运行?
EN

Stack Overflow用户
提问于 2021-04-20 04:45:29
回答 1查看 52关注 0票数 0

我想要显示网站内的论坛,我的javascript (和HTML和CSS)是嵌入的,但如果javascript是运行在一个网站建设者,我只想有一些文本告诉用户他们的论坛是安装在这里(在嵌入式DIV),而不是试图显示任何论坛。我唯一的想法是看看网址,如果我看到一个已知的网站建设者,然后运行网站建设者代码,但我需要所有网站建设者URL的大列表。有没有人有这样的清单,或者有更好的解决方案?我当前的代码如下所示:

代码语言:javascript
运行
复制
var hostURL = window.location.href;
if (hostURL == "about:srcdoc") hostURL = window.parent.location.href;
if (hostURL.indexOf("websites.godaddy.com") > -1 ||                 // godaddy  
    hostURL.indexOf(".preview.editmysite.com") > -1)    {           // weebly
        displayWebsiteBuilderInfo();
        return;
}
EN

回答 1

Stack Overflow用户

发布于 2021-05-18 05:11:46

以下是我所做的,但我不确定这是否是一个好的解决方案(并且它不是原始问题的解决方案):

在处理论坛数据请求的PHP代码中,我读取了referer URL (来自client - window.location.href)的内容,以查看javascript是否在那里。如果它不在那里,假设请求来自一个网站建造者。然后,如果客户端的isWebsiteBuilder为真,则调用displayWebsiteBuilderInfo();

下面是PHP代码:

代码语言:javascript
运行
复制
$siteContent = @file_get_contents($referer);
$siteContent = htmlspecialchars_decode($siteContent);
$idx = strpos($siteContent, "<script async src=\"https://www.bubblecritic.com/js/embed/the_js.js\"></script>");
if ($idx === false) $isWebsiteBuilder = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67169137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档