我创建了一系列大约 25 个静态站点,它们共享相同的信息,并且不得不在这里和那里更改无意义的副本,所以我编写了这个 javascript,以便所有站点都从一个位置提取内容。(简化为一个例子)
var dataLoc = "<?=$resourceLocation?>";
$("#listOne").load(dataLoc+"resources.html #listTypes");
当页面加载时,它会找到 div id listOne 然后将其替换为文件 resources.html 中的 div 的内容,并且只有那里标记为 listTypes 的 div 的内容。
我的问题:谷歌根本没有抓取这个动态内容,我被告知谷歌会抓取动态导入的信息,所以我很想知道我目前正在做什么需要改进?
我假设 js 只是被谷歌蜘蛛跳过了,所以我使用 PHP 来访问之前使用的相同 HTML 文件,它工作得很好,但它没有按照我的需要工作。这将返回文本,但我还需要标记、<li>, <p><img>
标签等。也许我可以调整这个?(我不是开发人员,所以我只是尝试了我在 PHP 在线帮助中读到的几十个东西,这和我得到的一样接近)
function parseContents($divID)
{
$page = file_get_contents('content/resources.html');
$doc = new DOMDocument();
@$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div)
{
if ($div->getAttribute('id') === $divID)
{
echo $div->nodeValue;
}
}
}
parseContents('listOfStuff');
感谢您帮助更好地理解这一点,如果我需要更好地解释它,请告诉我:)