Bookmarklet版COCOA接触キー確認
- ryunosinfx
- 1033
- 0
- 0
- 0
うーんスタイル効かないのか・・・ しんどいな・・・AAで描画するしかないじゃないか! うーん。DOMの書き換えはできるが、CSSの概念のないxmlだと何も出来ないのな・・・
2020-08-19 22:30:01var.blog.jp/archives/71067… なんだ、このIE向けの古の野蛮な方法は・・・ IE9時代の野蛮な方法は現代では当然動かない。 しかし日付が2017年なのがヤバさを物語ってるな・・・ さて、こうなるとxmlから動かせない訳だけどできるのか? jsは動くがhtml5の機能が死んでいる。使えるソースは64kb
2020-08-19 22:58:31corsに対応した鯖が居ればデータは受信可能。 しかし、正直corsに対応した鯖となるとGASしか無い訳で、 64kbだとzip解凍ライブラリが乗るのかというと・・・ Webpack経由でくっつけたら125kbになっちゃったなおい・・・
2020-08-19 23:38:56うーん・・・ ブックマークレットを分割でもいけるが・・・ 詰んだか・・・XMLで外部にCORSでソース配布通信が可能な鯖が無い。 いや、正確にはGASとか有るけど、50,000回/日なんよね。無料枠だと。うーん。実行時間90分/日は、まあなんとかなるとしてもさ。 developers.google.com/apps-script/gu…
2020-08-20 00:57:57mimetypeがtext/htmlでdtdがhtml5じゃ無いだけで 異常なぐらいのハードモードやな。 html5依存の仕様が無いとクリアできない。 documentTypeがnullのxmlだと色々詰む。 もしかして改行が出来なかったりする? スタイル無いからなーふへー
2020-08-20 01:00:40まあ面倒だが、ブックマークレットを5分割ぐらいして、対応するか。 とにかく、外部サービスを使ったら負けだと思ってる。 すべて静的にする! Webpackしたソースを1.333倍になるが、base64にして 分割したら確実にいける。 base64最高!後はハッシュ関数が有れば大丈夫
2020-08-20 01:33:58document.createElementではなく document.createElementNS("w3.org/1999/xhtml","a") で作ると、namespaceURIがHTMLになって普通にXMLの中にブラウザがHTMLと解釈するエレメントを打ち込めるな・・・ developer.mozilla.org/en-US/docs/Web…
2020-08-21 02:49:50じゃあ当初の予定通り・・・と言いたいところだが、 なんやな、Vue.jsを使うにもdocument.createElementを document.createElementNSでオーバーライドしないと駄目なのか・・・ まずはpostMessageAPIでGithubPagesと通信の確保かな。 それが出来たら好きなだけライブラリを召喚できる。
2020-08-21 02:56:13iframeがiframeとして出現する所までは確認した。 後は、通信してくれるかどうかなんだが・・・
2020-08-21 02:56:59iframe内のjsは動いている。 じゃあpostMessageでデータ通信ができるかどうかだな・・・
2020-08-21 03:06:31通信ができることは確認した。 したがって、自由気ままにGithubPagesから 400エラーのXMLページにjsを召喚できるようになる! キタコレ!
2020-08-22 04:41:37Uncaught EvalError: call to eval() blocked by CSP ってクロスドメインだと怒られるなぁ・・・ うーむXSS対策なんだろうがXMLでも発動するのか 結構厳しいなぁ
2020-08-23 00:11:03うーむ、当然のようにリンクにjsを入れてもCSPで Content Security Policy: ページの設定により次のリソースの読み込みをブロックしました: inline (“script-src”) で弾かれるな。 ふむふむ。 さあどうするか。
2020-08-23 01:25:02あーそうか! iframeを開くことはできるので、 ①bookmarkletで該当ドメイン内にiframeを展開 ②bookmarkletはデータをiframeに送る ③メイン処理はiframe内で実行する すると 巨大なjsファイルをベースにCORS対応でないAPIのデータを処理可能になる。
2020-08-23 01:34:31ユーザーはiframeを操作することになるんやな。 複数windowというかタブを生きた状態で触れるなら マルチドメインをデータ送受信が可能になるけど まあ今回は1ドメインからデータ引っ張って来るだけだからね。 ということは逆に言うと、jsで複数ドメインでデータを構成するとコピー出来ないのか。
2020-08-23 01:54:27逆にxssを許す設定になっている場合は逆襲を行う攻性防壁jsを置いておけばかなり時間稼ぎができるな。 こう、変なところで実行すると時限爆弾の様にやらかしを電子透かしで入れてくみたいな。 例えば、時間、IPアドレスや機材の情報を取るのはかなり重要で。
2020-08-23 01:57:38bookmarkletを外部ファイルにwebpackで出しておいて、 それをfetchで取ってくればいい。 ここは純然と64kb制約があるのでterserで圧縮と。 でも中身は普通にclass定義してロジックが組める。 ただし、マングリングはclassのプロパティまではsafeに及ばないからメソッド名は人力短縮名で
2020-08-25 02:44:18アレやがな。 自分のやる気駆動でやってるとなかなか進まない。 単純にとても進まない。 一応、Webpackなbookmarkletまでは作ってiframeでgithubpagesのvue.js@webpackなページの表示までは出来た。 次はファイルをgithubpagesに送信する部分でパワーダウン!
2020-08-30 04:42:23ファイルを取って、githubPagesにもって来れる所までは出来た。 うん。後はデータ処理に移行すると。 あーVuejs真面目に使わないとなぁ にしてもWebpackというかTerserの遅さは罪深い。
2020-09-01 02:29:57じゃあ、何をしたらいいのかな? グラフライブラリでも突っ込んでグラフィカルに見るのが良いのか?うーん?
2020-09-01 02:38:15欲しい機能はなにか? ・普通にキーと追加日の密度が欲しい? ・自分の持ってるキーと突き合わせしたい? ・自分の持ってるキーの集合をアナライズしたい? ・2Weekで消える運命のデータを未来永劫所持したい? うーん・・・
2020-09-01 02:59:33まあzipを取ってくるところまで出来たかなー じゃあ次はファイルの中身か。
2020-09-08 03:49:19ファイルの中身がProtocol Buffersと言うことを 今更知るなど。 なんやな、凄くめんどくさいです。
2020-09-14 01:21:47bookmarkletに改行を含められないので terserでコメントを残す設定に出来ないな・・・ まあ本体はgithubPagesの方なので、自作モジュール以外bookmarkletに入れなければ良いんだけど。
2020-09-14 01:48:45Protocol Buffersのライブラリの扱いが なかなか書いてあるとおりにやっても動かないぞごるぁ protobufjs.github.io/protobuf.js/#u…
2020-09-18 01:31:31