備忘録

I.PI更新停止後時間経過しており、一部が機能しない
    1.    @require jquery :       機能せず
    2.    @require path    :     機能せず
            どうしても使いたければ外部ファイル化

     →appendChildして追加
             →読み込みに時間を要するため、

       →ページ読み込み後に自動実行されるスクリプトには向かず

       →interval関数などで読み込みまで待つ処理が必要

     3.@requireはGMとは互換性なし。GM関数の指定不可
 

II.仕様
    1.    @require api-notification
            →アイコンはヘッダで指定したもののみ。

    →コードからの動的変更不可
    2.    @icon        'data:image/png;base64,~~~’は不要。
    3.    @require   file:///C:\Users\~~~\Sleipnir_Extension/extension.slex.js
        →上記のような指定不可
    4.    //でのコメントは不可。/*  */は可
        不便

III.一部処理がChromeと異なる
    1.改行ありのテキストを取得する方法
        古の方法らしい
        function(){/*
            ここに記載
        }
        */}.toString().match(/\n([\s\S]*)\n/)[1];
            →Sleipnirだと、toString()で改行が無視される様子。

    →このためmatch(/\n/)がエラーとなる
            →解決としては下記を利用する

      ①外部ファイル化

      ②バッククォート ` (ECMAScript 2015 (ES 6))

      ③evalは推奨されない

IV.    JSON
    1.    予約文字のためエスケープが必要なのは下記
            \"(ダブルクオーテーション)  

    \\(バックスラッシュ) 

      \/(スラッシュ)

        \b(バックスペース) 

        \f(改ページ)

        \n(改行)    

    \r(キャリッジリターン) 

      \t(タブ)
    2.    →コメントは不可

V.    Dropboxからのインストール
        1.ファイルのurlリンクの末尾を、”dl=1”に変更する(ダウンロード)
        2.”dl=0”は(ブラウザIでテキストエディタ起動)
        3.https://dl.dropboxusercontent.com/s/~~/~~.slex.jsも使用可
        
VI.    Dropboxからのsrc読み込み
    ※検証の際には読み込みの完了待ちの操作を行っていなかった。(知らなかった)   

    →使用できる可能性はある。
    3.https://dl.dropboxusercontent.com/s/~~~/~~.jsに変更してもアクセスできず
    4.raw=0 使えず
    5.GreaseForkなどを利用するしかない?

VII.Blocklist(JSONファイル)の置き場所
    1.WeDataが望ましいか
        →OpenIDが必要
            google.hanenaなど多くのサイトがサービス停止
    2.自分でサーバ

その他.    ※Chromeで開発するのが楽
            1.拡張機能管理→TamperMonkey

      ファイルの URL へのアクセスを許可する
            2.TamperMonkeyエディタ→設定→セキュリティ

      スクリプトによるローカル ファイルへのアクセスを許可する
            3.Wrapper使用してローカルファイルから読み込み
                →GM関数使用するならWrapperにgrantで指定
                →@require      "file:///"

      外部ファイル→本体の順に読み込むようにする