Javascript 如何执行网页中的js函数以及如何模拟调用
图为Chrome浏览器中右键点击查看源页面的打印屏幕。通过在源代码的完整上下文中进行搜索,我只找到了方法freshPage的一个引用。我没有找到定义。因此,我对浏览器如何执行脚本感到困惑,因为freshPage方法似乎不喜欢内置Javascript函数。在页面加载期间,我没有看到任何其他脚本。 如何模拟操作以获取函数的返回值Javascript 如何执行网页中的js函数以及如何模拟调用,javascript,Javascript,图为Chrome浏览器中右键点击查看源页面的打印屏幕。通过在源代码的完整上下文中进行搜索,我只找到了方法freshPage的一个引用。我没有找到定义。因此,我对浏览器如何执行脚本感到困惑,因为freshPage方法似乎不喜欢内置Javascript函数。在页面加载期间,我没有看到任何其他脚本。 如何模拟操作以获取函数的返回值 在评论和回复的帮助下,我意识到我错过了更多服务器响应的.js文件。我在文件中找到了定义。只有两种可能: freshPage功能由页面上的脚本提供。这可能是指一个单独的资源
在评论和回复的帮助下,我意识到我错过了更多服务器响应的.js文件。我在文件中找到了定义。只有两种可能:
freshPage
功能由页面上的脚本提供。这可能是指一个单独的资源的
(似乎很可能),或者是这里的内联/*代码*/
,或者ReferenceError
more.js
如何模拟操作以获取函数的返回值
就叫它吧。这可以来自您在页面、bookmarklet或控制台中注入的脚本
这里的情况并非如此,但请注意,在脚本执行后完全可以删除它。例如:
<script id="foo">
function doSomething() {
// ...
}
setTimeout(function() {
var script = document.getElementById("foo");
script.parentNode.removeChild(script);
}, 0);
</script>
函数doSomething(){
// ...
}
setTimeout(函数(){
var script=document.getElementById(“foo”);
script.parentNode.removeChild(脚本);
}, 0);
一旦加载了包含它的页面,就会在全局范围内定义一个doSomething
函数,并且页面上不再存在定义它的script
标记。(“查看源代码”应该显示它,但不是屏幕截图中显示的实时DOM检查器。)
但是,你链接的页面并没有做到这一点。脚本标记在“查看源代码”和DOM检查器中都很容易找到。您可以从控制台调用它以获取返回值
freshPage(…
@wason,检查。是的,我刚才刷新时没有找到它。我被阻止提问。有人知道如何取消阻止吗?“这是带有函数freshPage
声明的页面。@user7393973:是的,我已经添加了它。”。