标签归档:bookmarklet

鼠标滚轮缩放图片

浏览网页的时候,有时候图片局限于网站而很小,即便原来是一张大图。为了偷懒不想新标签页打开图片,于是写了个小小的 bookmarklet 来直接在图片上通过鼠标滚轮来进行缩放。

javascript:(function(){var imgs=document.getElementsByTagName('img');var rate=rate||0.1;for(var j=0,l=imgs.length;j<l;j++){(function(i){var item=imgs[i];item.onmousewheel=function(e){e=e||window.event;zoom(imgs[i],mouseWheelRes(e),rate);};if(item.addEventListener){item.addEventListener('DOMMouseScroll',function(e){zoom(imgs[i],mouseWheelRes(e),-rate);},false);}})(j);}function zoom(img,inOut,rate){if(inOut>0){img.width=img.width*(1+rate);img.height=img.height*(1+rate);}else{img.width=img.width*(1-rate);img.height=img.height*(1-rate);}}function mouseWheelRes(e){e.preventDefault?e.preventDefault():e.returnValue=false;e.stopPropagation?e.stopPropagation():e.cancelBubble=true;return e.wheelDelta||e.detail;}})();

可读性良好一些的代码如下:
继续阅读

允许复制

想复制些东西却发现用 JavaScript 禁止了复制,于是想起了 keakon 的『破解网页禁止复制的Chrome插件:Enable Copy』,不错相对于插件,我更喜欢 bookmarklet 这种形式,于是将插件中的代码提取了出来(作者介意否?)

javascript:(function(){var doc = document;var body = doc.body;body.onselectstart = body.oncopy = body.onpaste = body.onkeydown = doc.onselectstart = doc.oncopy = doc.onpaste = doc.onkeydown = doc.oncontextmenu = null;})();

两枚小小的bookmarklet

javascript:window.location = window.location.href.replace('http://', 'https://');

目的是解决偶尔的Chrome中http被重置而需手动麻烦地转为使用https的情况,尽管大多数的都是直接使用htpps了,但还是会有用http而被重置的情况。而Google说不会修改Chrome隐藏http头这个功能了,手动加又烦了点,所以点点算了。(这方面还是Opera做得到位啊)

javascript:
if (alert.toString().indexOf('alert') != -1) {
    window.alert_back = alert; 
    alert = function(str){console.log(str);};
    console.log('Now log');
} else {
    alert = window.alert_back;
    console.log('Now alter');
}

目的是在调试JS的时候将alert重定义为控制台的log,这样不用每alert一次都要点一次确定,甚至可以避免因无限alert而造成的崩溃。另外,console.log比alert长。

另:这两个玩意一点技术含量都没有,只是需要用而已。