javascript bookmarklet是否与其他脚本隔离?
使用DOM,我可以编写一个脚本来读取(并可能分配给变量)当前页面中其他脚本的代码,不是吗javascript bookmarklet是否与其他脚本隔离?,javascript,dom,bookmarklet,Javascript,Dom,Bookmarklet,使用DOM,我可以编写一个脚本来读取(并可能分配给变量)当前页面中其他脚本的代码,不是吗 对bookmarklet也可以做同样的事情吗?也就是说,当前网页中的内联或外部脚本是否可以读取(并可能分配给变量)加载页面后执行的bookmarklet的源代码,或者访问此类bookmarklet的任何变量和/或属性?您是否尝试过并看到了结果?做一个测试页面似乎很容易。答案是肯定的,它可以改变值,它不像在沙盒中运行的代码。为什么,不!它们根本不是,这就是bookmarklet如此强大的原因。bookmark
对bookmarklet也可以做同样的事情吗?也就是说,当前网页中的内联或外部脚本是否可以读取(并可能分配给变量)加载页面后执行的bookmarklet的源代码,或者访问此类bookmarklet的任何变量和/或属性?您是否尝试过并看到了结果?做一个测试页面似乎很容易。答案是肯定的,它可以改变值,它不像在沙盒中运行的代码。为什么,不!它们根本不是,这就是bookmarklet如此强大的原因。bookmarklet就是在全局范围内执行的
javascript:
url,可以完全控制当前的窗口
允许劫持window.open()方法,例如:
javascript:(function(){var wo=window.open;window.open=function(){if(confirm('All your window.open are belong to us!'))return wo.apply(window, arguments)}})()
因此,以下弹出窗口现在由我们完全控制:
javascript:with(window.open()){document.open('text/plain');document.write('HAI!');document.close()}
我问只是因为我不能做这样简单的测试页面。在DOM树中,我找不到关于bookmarklet.javascript:alert(SomeGlobalVariable)的任何引用;