我正试图找到一种方法来获取用户在任何给定URL上看到的所有HTML /文本,即使他们看到的大部分内容都可以动态生成(例如,在页面加载时)不在DOM中,然后手动加载javascripts并将结果数据放回页面。
我的想法是:
(天真地)通过抓取所有<script>
标签src属性来返回所有javascript文件的数组。
返回所有页面硬编码javascripts的数组,例如:<script> var example = true; </script>
创建一个函数来决定内部和外部页面javascripts中遇到的真实URL。例如,遇到例如$.ajax({ url: '/relative-js-file.js'
时,它会找出绝对URL,因此PHP可以访问该页面。
使用PHP,加载在页面上找到的所有javascript,其方式类似于加载到实际页面本身(它来自的页面)。
获取javascript返回的任何数据(plain,html等),并将此新的纯文本和/或HTML注入原始页面<body>
。
我确实意识到这在很多时候都不会起作用,但我希望它至少是一个很好的起点,直到我找到更好的解决方案或创建更高级的功能来处理无法识别/不可访问的javascript。对于examlpe,javascript本身阻止它被加载到除它自己以外的任何页面上。
我的问题
您是否认为这是获取不在DOM中的动态内容并将其强制在DOM中的好方法?或者你能想到更好的方法吗?感谢您的反馈和想法。