Webサイト閲覧時に任意のスクリプトを実行しよう
目次
▶︎
all
running...
前書き
-
Chromeブラウザには、ScriptAutoRunnerという拡張機能がある。
これはWebページロード時に自動で任意のJavaScriptを実行できるというもの。
と、いうわけでもっともすぐに思いつくのは、コピペ禁止とかいうくだらない措置をぶち壊すことだ。 -
以下私が使っているソースコード
使い方
-
Chrome拡張機能をURLから入手したら、ScriptAutoRunnerのアイコンをクリックし、歯車を押す。
-
その後ページが見えたら、「</>」というマークをクリック。
-
下記コードをコピペ。(波選別にコードを分けると良い。)
-
コンセントのマークをクリックすると有効化。
-
オン/オフは簡単にできる。
* 修正は、VS Codeなどほかのエディターで行う。
ScriptAutoRunnerコード
// コピペ禁止解除 try { eventsTrue(); const head = document.head || document.getElementsByTagName('head')[0]; const css = '* { user-select: auto !important; }'; createStyle(head, css); resetListeners('contextmenu'); console.log('コピペ禁止解除を実行しました'); } catch (error) { console.error(`コピペ禁止解除が失敗しました \n ${error}`); } /** * 右クリック禁止を解除させる関数 * * 'oncontextmenu', ' oncopy', 'oncut', 'onmousedown', 'onselectstart' * * これらにtrueを与える */ function eventsTrue() { const elem_len = document.getElementsByTagName('*').length; for (let i = 0; i < elem_len; i++) { const mouse_events = ['oncontextmenu', ' oncopy', 'oncut', 'onmousedown', 'onselectstart']; let tag = document.getElementsByTagName('*')[i]; mouse_events.map((event) => { tag[event] = () => { return true; }; }); } } /** * イベントリスナーのデフォルト機能を停止させる関数 * @param {string} type - イベントタイプ */ function resetListeners(type) { document.addEventListener( type, (e) => { e.stopPropagation(); }, true ); } /** * styleタグを作成し、cssを適用させる関数 * @param {HTMLElement} elm - HTML要素 * @param {string} css - 適用したいcss */ function createStyle(elm, css) { const style = document.createElement('style'); elm.appendChild(style); style.appendChild(document.createTextNode(css)); } // ------------------------------------------------------------------- // ニコ動自動スクロール try { const element = document.querySelector('.MainContainer'); const rect = element.getBoundingClientRect(); const position = rect.top - 4; // 一番上からの位置を取得 scrollTo(0, position); console.log('ニコ動自動スクロールが実行されました'); } catch (error) { console.error(`ニコ動自動スクロールが失敗しました \n ${error}`); } // ------------------------------------------------------------------- // Amazonレビューコピペ可能に try { const $reviews = document.querySelectorAll('._3zF9LN'); $reviews.forEach(($review) => { $review.addEventListener( 'click', () => { $review.removeChild($review.children[1]); $review.removeChild($review.children[2]); }, { once: true, } ); }); console.log('Amazonレビューコピペを実行しました'); } catch (e) { console.error(`Amazonレビューコピペが失敗しました \n ${error}`); }
コメント
コメントを投稿