unarist (34)

全Textノードを舐めてそれらしい文字列をデコードしてみるという大胆さ

(()=>{const iter=document.createNodeIterator(document.body,NodeFilter.SHOW_TEXT);while((node=iter...

TL;DR: ` のすぐ内側に " or ' を入れる。内部でそれらを使う時はエスケープ。

{let LET_ID="foo";alert(`'<div class="${LET_ID}" onclick="alert('test')">\n  </div>'`.slice(1,-1))}

これ自体は何もしないよ。

Range.prototype.getClientRectsで表示範囲が取れることを利用したデモ

(function(){const MASK="range-visualizer-mask";const MASK_ELEM=`${MASK}-elem`;const MASK_NODE=`${...
unarist Add custom CSP2017-03-11

お好みの Content-Security-Policy を追加して、制限を厳しくしてみよう

(function(){let csp=doc.createElement("meta");csp.httpEquiv="Content-Security-Policy";csp.content...

ブックマークレット開発のお供に

onerror=alert;

delete selected node just once

(function(){'use strict';const options={passive:false,capture:true};function deleteOnce(e){e.stop...

(function(){'use strict';const tweet_box=document.querySelector('.tweet_box');const clearDecorati...

(function(){function handler(e){e.target.parentNode.removeChild(e.target);document.removeEventLis...

.packed.jsを匿名関数で囲ってdataURI化して遷移

var xhr=new XMLHttpRequest;xhr.open('GET',location.href+'.packed.js');xhr.onload=function(){locat...

(function(images){d=window.open().document;for(i=0;i<images.length;++i){x=is[i];if(x.height<100)c...

(function(images){d=window.open().document;for(i=0;i<images.length;++i){x=is[i];if(x.height<100)c...

(function(images){for(i=0;i<images.length;++i){img=images[i];if((link=img.parentElement)&&link.hr...

maximum-scaleを消したいだけ

document.querySelector("meta[name=viewport]").setAttribute('content','width=device-width');
<< 1 2