我想要显示网站内的论坛,我的javascript (和HTML和CSS)是嵌入的,但如果javascript是运行在一个网站建设者,我只想有一些文本告诉用户他们的论坛是安装在这里(在嵌入式DIV),而不是试图显示任何论坛。我唯一的想法是看看网址,如果我看到一个已知的网站建设者,然后运行网站建设者代码,但我需要所有网站建设者URL的大列表。有没有人有这样的清单,或者有更好的解决方案?我当前的代码如下所示:
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;
}
发布于 2021-05-18 05:11:46
以下是我所做的,但我不确定这是否是一个好的解决方案(并且它不是原始问题的解决方案):
在处理论坛数据请求的PHP代码中,我读取了referer URL (来自client - window.location.href)的内容,以查看javascript是否在那里。如果它不在那里,假设请求来自一个网站建造者。然后,如果客户端的isWebsiteBuilder为真,则调用displayWebsiteBuilderInfo();
下面是PHP代码:
$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;
https://stackoverflow.com/questions/67169137
复制相似问题