从 javascript 生成的其他页面获取内容
get content from other page generated by javascript
我遇到了一种情况,我想从另一个页面获取内容,该页面通过其参数动态生成图像。
例如,我得到了 test.php?u=user1&type=test。
打开这个页面会给我一个 base64 编码的图像 SOURCE 在 div 里面,id "test" 和一个 innerHTML。
必须使用以下代码。
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile('test.php?u=user1&type=test');
$xpath = new DOMXPath($doc);
$query = "//div[@id='test']";
$entries = $xpath->query($query);
var_dump($entries->item(0)->textContent);
然后我的 var_dump 什么也没有返回,直到我在另一页的 div "test" 中乱放一些文本。
如何在我的 var_dump 中获取动态文本以便我可以在其他页面上使用它?
如果动态创建是由JavaScript进行的,则必须在客户端电脑上进行。你不能 run/render 任何在 php 中使用 JS 的东西。
解决方案:
- 显示页面
- 等待输入
- 通过 ajax 调用服务器发送输入数据
- 其他页面通过ajax
轮询数据
我遇到了一种情况,我想从另一个页面获取内容,该页面通过其参数动态生成图像。
例如,我得到了 test.php?u=user1&type=test。 打开这个页面会给我一个 base64 编码的图像 SOURCE 在 div 里面,id "test" 和一个 innerHTML。
必须使用以下代码。
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile('test.php?u=user1&type=test');
$xpath = new DOMXPath($doc);
$query = "//div[@id='test']";
$entries = $xpath->query($query);
var_dump($entries->item(0)->textContent);
然后我的 var_dump 什么也没有返回,直到我在另一页的 div "test" 中乱放一些文本。
如何在我的 var_dump 中获取动态文本以便我可以在其他页面上使用它?
如果动态创建是由JavaScript进行的,则必须在客户端电脑上进行。你不能 run/render 任何在 php 中使用 JS 的东西。
解决方案:
- 显示页面
- 等待输入
- 通过 ajax 调用服务器发送输入数据
- 其他页面通过ajax 轮询数据