Webサイト閲覧時に任意のスクリプトを実行しよう

no title

目次

▶︎
all
running...

前書き

  • Chromeブラウザには、ScriptAutoRunnerという拡張機能がある。
    これはWebページロード時に自動で任意のJavaScriptを実行できるというもの。
    と、いうわけでもっともすぐに思いつくのは、コピペ禁止とかいうくだらない措置をぶち壊すことだ。

  • 以下私が使っているソースコード

使い方

  1. Chrome拡張機能をURLから入手したら、ScriptAutoRunnerのアイコンをクリックし、歯車を押す。

  2. その後ページが見えたら、「</>」というマークをクリック。

  3. 下記コードをコピペ。(波選別にコードを分けると良い。)

  4. コンセントのマークをクリックすると有効化。

  5. オン/オフは簡単にできる。

* 修正は、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}`);
}



⇧目次へ戻る

コメント

このブログの人気の投稿

JScriptで家計簿シートを年別ファイル分割:改

プロフィール

windows10でブルートゥース残量を5秒間確認するバッチ