gpt4 book ai didi

Javascript 无法处理从其他来源提取的内容

转载 作者:行者123 更新时间:2023-11-28 06:15:06 25 4
gpt4 key购买 nike

我很确定这是一个愚蠢的问题,但我进行了搜索,但找不到类似/相同的场景。

因此,我有一个主要的 PHP 页面,其中我在 HTML 的 head 部分包含了几个 Javascript 文件。然后在某个时候,我通过 file_get_contents 从外部源获取内容(HTML + Javascript)并将其输出到主页。

这个新的输出会正常地从主页上获取 CSS 样式,但是任何依赖于在主页上加载的样式的 Javascript 代码将不起作用。即使我将所需的 Javascript 放在主页的 document.ready 中,它仍然无法工作。

只是为了举例说明代码:

<html>
<head>
<link href="style.css" rel="stylesheet">
<script src="somejslib.js"></script>
</head>
<body>
Some HTML here generated by PHP
<?php
$content = file_get_contents('http://whatever/page');
echo $content;
?>
</body>

在抓取的内容中我会有类似的东西:

<div>
<form>
<input type="text" id="bla">
</form>
</div>
<script>$('#bla').datepicker({ somecodehere });</script>

datepicker 已包含在主页面加载的库中,但无论我将此代码放在何处都无法正常工作。

有什么提示吗?

P.S:它起作用的唯一方法是,如果我再次包含新内容中的所有 Javascript 库,这当然不是解决方案。

最佳答案

确保在加载外部内容后附加监听器或使用 on() 事件处理程序 http://api.jquery.com/on/

附言我现在看到您的代码实际上缺少 document.ready,因此在执行之前没有等待文档加载。我不确定其中哪些适用于您的实际代码,因为您只发布了一个示例。例如,如果您通过 ajax 拉取内容,请应用第一个解决方案,否则只需将内容包装在准备好的文档中

关于Javascript 无法处理从其他来源提取的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com