DG.*_*DG. 14 javascript bookmarklet
我想编写一个书签,它将修改任何网页,以便当该页面上的JavaScript代码执行类似操作时,document.location = 'http://site.tld'或者document.location.href = 'http://site.tld'页面将打开新的选项卡或窗口而不是更改位置; 就像代码一样window.open('http://site.tld');
我能以某种方式修改原型以实现这一目标吗?(我不小心使用这个词,因为虽然我已经阅读了几次修改原型,但我从未真正做过.)或者还有其他方法吗?
你没有说你正在使用哪种浏览器,但我想到的唯一方法就是使用Firefox Object.watch.
document.watch('location', function(prop, oldval, newval) {
window.open(newval);
return '#';
});
Run Code Online (Sandbox Code Playgroud)
这将干预任何设置的尝试,改为document.location使用相同的参数打开一个窗口,然后改为分配'#'(通常不会做任何事情).
在书签形式中,并扩展为涵盖document.location和window.location:
javascript:(function(){var handle=function(prop, oldval, newval){window.open(newval); return '#';};document.watch('location',handle);window.watch('location',handle);})();
Run Code Online (Sandbox Code Playgroud)
但即使这样做也不适用于转让document.location.href; location对象是一些Object.watch拒绝工作的特殊事物.
如果这还不够,你可以用来onbeforeunload在你试图离开并取消它时提示你(如果那是你的目标).
我得到的最好,对不起!
| 归档时间: |
|
| 查看次数: |
3423 次 |
| 最近记录: |