你会需要:
- 一个 JavaScript 解释器
- 一个 DOM Level 2 Core 和 HTML 实现
- 500g 非标准但常用的 DOM 扩展
- 一小撮 DOM 2 级样式(这也可能意味着 CSS 解释器和布局引擎)
- 酸奶罐、圆头剪刀和粘性塑料
一旦你组装了你的组件(记得找一个大人来帮助你进行沙盒操作),你会发现你所拥有的基本上与 Web 浏览器没有区别。
JAVA 不是在服务器上构建的 shell 的一部分。V8/SquirrelFish 是我需要转换为 PHP 的 C++ 代码。
将 JS 引擎移植到 PHP 将是一项艰巨的任务,并且由此产生的性能可能很糟糕。你甚至无法真正摆脱几乎在 JavaScript 上的解决方案,因为如此多的页面使用 jQuery 等极其复杂的库来完成所有工作,这需要深入的 JS 支持。
我不认为你将能够纯粹在 PHP 中做到这一点。您必须连接 Java/Rhino/HTMLUnit 或像 Mozilla 这样的适当网络浏览器。如果您的托管环境不能为您提供编译和部署这类东西所需的灵活性,那么您必须使用外壳(最好是 VPS)转移到更好的托管设置。
如果您可以通过其他方式避免这种不愉快,通过对已知页面的 AJAX 访问进行特殊处理,请执行此操作。