2023年12月20日水曜日

Android 版 Firefox 対応自作アドオンの宣伝

 2023 年 12 月から Android 版 Firefox でインストールできるアドオンが 20 前後?から 450 以上に増えました。その中に自作アドオン4点が含まれるので宣伝します。
ちなみに Android 版だけでなく PC 版でも使えます。

Script Menu

登録したスクリプトをメニューから選択して実行するアドオンで、このブログで紹介している fmsm の後継として作成したものです。ブックマークレット的に使うこともできます。
ユーザーインターフェースは次のようになります。




 

Script Menu の詳細(英語)はこちら→ AMO

Script for Me

いわゆるユーザースクリプトマネージャーです。以前はユーザースクリプトマネージャーとして Tampermonkey を使っていたのですが、寄付くれがちょっとだけうるさいのと Android で使えなかった(今は使えます。多分)ので自作して移行しました。
低機能ですが小規模なスクリプトなら十分使えます。←個人の感想であり効果効能を保証するものではありません(^^
【使用例】ブラウザ版の Twitter (現X)でロゴを以前の青い鳥に変える Script for Me 用ユーザースクリプトはこちら
Script for Me の詳細(英語)はこちら→ AMO

CORS for Me

今のブラウザは a.com にあるページからドメインの異なる b.com のリソースを読み込むことは基本的にできません。この異なるドメイン間のアクセスの許可や拒否を規定するのが CORS (Cross-Origin Resource Sharing) です。
CORS は HTTP ヘッダで実現されているので、 CORS に関わる HTTP ヘッダを改変して、本来アクセスできない別ドメインのリソースを読み込めるようにするのが CORS for Me です。
では CORS for Me を使って具体的にどんなことができるのでしょう? ブラウザの javascriptで複数のドメインのコンテンツを収集してひとつのページに表示することができます。自作日本語ニュースリーダーはブラウザと html と javascript と CORS for Me で多くのソースからのニュースをひとまとめに表示できます。
CORS for Me の詳細(英語)はこちら→ AMO

CSP for Me

CSP は Content Security Policy の略です。CSP ではページで様々なリソースの読み込みやスクリプトの実行を制限できます。CSP も HTTP ヘッダで実現されていて、このヘッダを改変して CSP による制限を回避するために作成したのが CSP for Me です。
主にスクリプトの実行の制限を回避するために作ったのですが、Script Menu や Script for Me で独自に CSP の script-src ディレクティブにある nonce-source による制限をある程度回避する方法を見つけたので今はほぼ使っていません。
CSP for Me の詳細(英語)はこちら→ AMO

 

以上自作アドオンの宣伝でした。

2020年9月6日日曜日

android 版 firefox 79+ (fenix) で任意のスクリプト(ブックマークレットなど)を実行する

  • 2023/12/20 androidスマホ版のfirefoxで自作アドオン Script Menu が使えるようになりました。ここで紹介している fmsm と多少仕様は異なりますがその後継として作成したものです。興味のある方は addons.mozilla.org に登録してあるのでご覧ください
  • 2021/9/9 firefox v.92.11でブックマークレットが使えるようになりました

 androidスマホ版のfirefoxがバージョン68(fennec)から79(fenix)にアップデートされてブックマークレットが使えなくなったのでuBlock Origin (ubo) の機能を使って任意のスクリプトを実行するFirefox Mobile Script Menu (fmsm) を作りました。ソースコードはgithubにあります。

fmsmをインストールするにはfirefoxにアドオンuBlock Origin (ubo) がインストールされている必要があります。fmsmを入れるために新規にuboをインストールすることは勧めません。uboはとても優れたアドオンですが副作用もあります。今まで問題なく閲覧出来ていたサイトの表示がくずれたり何かの操作が出来なくなったりする可能性があります。

fmsmを入れて任意のスクリプトを実行可能にすること自体大きなリスクです。それに加えてfmsmをインストールするにはuboの上級者向け設定をいじる必要がありそれもまたリスクです。これらのリスクを理解したうえで自己責任でfmsmを利用してください。

インストール

最初に言っておきます。android版firefoxではuboの各種設定のテキスト編集要素は反応が悪すぎてまともには使えません。テキストは他のアプリで編集して貼り付けるのがいいでしょう。

まずfirefoxの設定→カスタマイズでツールバーを「画面上部」 にしてください。そうしないと次の手順で一番下にあるuserResourcesLocationが下部ツールバーに隠れて見えません。

uboのダッシュボードを開き設定タブを表示し「私は上級者です (※必ずお読みください)」にチェックを入れる。チェックを入れると歯車アイコンが表示されます

歯車アイコンをタップして上級者向け設定を開きuserResourcesLocationの値の末尾にfmsmのurl (https://yobukodori.github.io/firefox-mobile-script-menu/script-menu-ubo-resource.txt) を追加する。「変更を適用」が黄色くなるのでタップして適用します。userResourcesLocationは一番下にあります。すべて選択&コピーで他のアプリにペースト編集して貼り付け戻すのがいいでしょう。

userResourcesLocation unset https://yobukodori.github.io/firefox-mobile-script-menu/script-menu-ubo-resource.txt 

【fmsmの更新について】 上記userResourceは5日間隔で自動更新されます。fmsmのアップデートをすぐに適用したい場合はunsetとURLの間の空白を増減させてください。空白の数が変わると「変更を適用」が黄色くなるのでタップして適用更新します。
 また、たまにそれまで表示されていたメニューボタンが表示されなくなることがあります。その時も上記方法で更新してみてください。経験的にこの方法で再び表示されます。

次にMyフィルタータブを開きます。 そこにfmsmのパスワードを設定するフィルタを記述します。2番目と3番目の引数はパスワードを記述するのは4番目の引数だということが分かるように入れました。 script-menu, , , password: <パスワード> でもいいです。

*##+js(script-menu, pw, name, password: <パスワード>)

 「変更を適用」ボタンが黄色くなるのでタップして適用します。
【注意】当面スクリプトを登録する予定がなくてもこのパスワードは必ず設定してください。パスワードを登録しないとあなたが購読しているフィルターリストの作者に悪意があれば勝手にパスワードを設定しスクリプトをメニューに登録できてしまいます。

以上でインストール完了です。

スクリプト登録

実行したいスクリプトはMyフィルタータブにuboのフィルタとして記述します。Myフィルターを変更したら一番上の[✔]をタップして変更を適用します。

スクリプトの登録形式は次のようになります。

<ホスト名>##+js(script-menu, <名前>, <スクリプト>[, {<オプション>}])

<ホスト名>:スクリプトメニューを表示するサイトのホスト名です。カンマで区切って複数記述することもできます(例 google.com,yahoo.com)。またPublic Suffixにワイルドカードを使えます(例 google.*はgoogle.comやgoogle.co.jpに一致します)。すべてのホストに適用するには * と記述します。

<名前>:メニュー項目として表示される名前です。
メニュー項目には名前と一緒に概要(スクリプトのURLやコードの一部)も表示されます。組み込みスクリプトは概要を表示しません。

<スクリプト>:スクリプトのURLやjavascript:で始まるコードやfmsm:で始まる組み込みスクリプト名を記述します。

{<オプション>}:JSON形式でオプションを複数指定できます。省略可。

  • "charset":<スクリプトファイルの文字セット名>
    例) {"charset":"shift_jis"} 
  • "aes":{"pass":<passphrase>,"iv":<initial vector>}
    ファイルがAES-CBCで暗号化されたスクリプトであることを示します。
    例) {"aes":{"pass":"1234567890123456"\,"iv":"1234567890123456"}} 
  • "once":true
    一度実行したらメニューから削除するよう指定します。
  • "index":<数値>
    メニュー内の表示順を指定します。数値が小さいほど上に表示されます。indexのない項目はindexのある項目の下に置かれます。indexのない項目同士は名前の昇順で配置されます。
  • "summary":"no"
    メニュー項目の概要(スクリプト名の下に表示されるURLやコード)を非表示にします。このオプションを指定したメニュー項目の背景色は黄色になります。あなたが購読しているフィルターリストの中で誰かが(パスワードを一致させ)スクリプトの登録に成功したとき概要があれば他人が登録したことを察知する助けになります。概要を非表示にすることはこの意味でリスクを増大させるので黄色背景で警告します。

【注意】各引数内のカンマ(,)は\でエスケープしてください。こうやって注意喚起している自分でも、この記事のためのフィルタを書いていて思う通りの結果にならず悩んでコンソール出力を見て「あら!カンマをエスケープしてなかった!」というのがありました。

登録のサンプル

では例としてwikipedia.orgで表示するスクリプトを登録していきます。

  1. まずは外部スクリプトを登録します。
    wikipedia.org##+js(script-menu, <パスワード>, こんちは, https://yobukodori.github.io/firefox-mobile-script-menu/sample/hello.js)

  2. スクリプトを直接記述することもできます。(コードの中でカンマを使う場合は\でエスケープすることをお忘れなく)
    wikipedia.org##+js(script-menu, <パスワード>, 1秒後にこんちは, javascript:setTimeout(alert\,1000\,"こんちは"))

  3. utf-8ページにshift_jisスクリプトを読み込みます。とりあえず説明のため記述しましたが正常に機能しません。github.ioはファイルの文字セットがshift_jisでもContent-Type: application/javascript; charset=utf-8で返してくるからです。charsetなしで返してくれるならちゃんと機能するんですが。
    wikipedia.org##+js(script-menu, <パスワード>, shift_jisで書かれたスクリプトを実行, https://yobukodori.github.io/firefox-mobile-script-menu/sample/encoding-shift_js.js,{"charset":"shift_jis"})

  4.  AES-CBCで暗号化されたテキストファイルを読み込んで復号しスクリプトとして実行できます。詳しい説明はいずれ。同じページで悪意のあるスクリプトが実行されるとpassもivも簡単に取得できあなたの暗号化されたファイルも簡単に復号できます。(オプション内のカンマはエスケープ)
    wikipedia.org##+js(script-menu, <パスワード>, AES-CBC暗号化スクリプト実行, https://yobukodori.github.io/firefox-mobile-script-menu/sample/crypted-js.txt, {"aes":{"pass":"1234567890123456"\,"iv":"1234567890123456"}})

  5. 一度実行したらメニューから削除します。(オプション内のカンマはエスケープ)
    wikipedia.org##+js(script-menu, <パスワード>, 一度だけ, javascript:alert("一度だけはメニューから削除されました"), {"once":true\, "index":1})

  6. fmsm組み込みのスクリプトを呼び出すことができます
    wikipedia.org##+js(script-menu, <パスワード>, ページ先頭へ, fmsm:scroll-to-top, {"index":100})
    wikipedia.org##+js(script-menu, <パスワード>, ページ末尾へ, fmsm:scroll-to-bottom, {"index":101})

  7. ページのソース(生のHTMLソース)を表示します。DOMには生のHTMLソースはないのでページのURLのファイルを取得しに行きます。それなりに時間がかかるので取得後すぐに別タブに表示しようとするとブラウザのポップアップブロックに引っ掛かります。それで取得後ダイアログを表示しユーザーにタップしてもらって別タブに表示するようにしてポップアップブロックを回避しています。
    wikipedia.org##+js(script-menu, <パスワード>, ページのソースを表示, fmsm:view-source)

  8. DOMのouterHTMLを表示します。テキストが選択されているときはそれを包含する要素のouterHTMLを、選択されてないときはhtmlのouterHTMLを表示します。
    wikipedia.org##+js(script-menu, <パスワード>, domのouterHTMLを表示, fmsm:view-outerhtml)

上記のフィルタをMyフィルタータブに記述してwikipedia.orgを開いてみましょう。画面右端上のほうに[S]ボタンが表示されるはずです。そのボタンをタップするとスクリプトメニューが表示されます。

 
 

メニュー下部の[閉じる]はメニューを閉じます。[終了]はメニューを閉じ更に[S]ボタンを削除します。削除した[S]ボタンを再表示するにはページを再読み込みしてください。

サイトによっては(たとえばtwitter.com)CSPのルールでブロックされて[S]ボタンが表示されません。メニューは表示されてもCSPやCORSの制限でスクリプトが実行されないこともあります。

 

2019年7月9日火曜日

J-Total MusicやU-フレットなどのコード譜サイトの印刷禁止を解除しコード譜/タブ譜印刷用にページを簡潔に表示する


J-Total Music、楽器.me、U-フレット、ChordWiki の印刷禁止を(選択/コピー/右クリック禁止も)解除しコード譜/タブ譜印刷用にページを簡潔に表示するブックマークレットを作りました。(スマホ対応)
  • 動作確認ブラウザ(PC):firefox最新版, chrome最新版(ieは対応しません)
  • 動作確認ブラウザ(android):firefox最新版, chrome最新版

簡潔に!←これをブックマーク(お気に入り)に登録してコード譜を表示しているときにクリック(スマホでのブックマーク実行方法は下記参照)してください。選択/コピー/右クリック/印刷の禁止を解除し印刷用に簡潔な表示に変更します。
スマホでブックマークレットを登録して使う方法【Android版Chrome編】
スマホでブックマークレットを登録して使う方法【Android版Firefox編】 (2020年8月Android版Firefoxがバージョン79になってブックマークレットが使えなくなりました💩)
ブックマークレットからgithubにあるスクリプトファイルを読み込んで実行します。更新は自動的に反映されるのでバージョンアップ時に再登録する必要はありません。

v.0.2.1(2020年06月01日更新)の主な変更点

  1. U-フレットの仕様変更で動画プラスのコード譜ページで歌詞&コードが表示されなくなったのを修正

v.0.2.0(2020年04月17日更新)の主な変更点

  1. U-フレットの仕様変更で動画プラス以外のコード譜ページで歌詞&コードが表示されなくなったのを修正

v.0.1.9(2020年04月07日更新)の主な変更点

  1. 楽器.me の仕様変更で簡潔表示できなくなっていたの修正

v.0.1.8(2019年10月05日更新)の主な変更点

  1. U-フレットで譜面内のテキスト広告を消した

v.0.1.7(2019年9月15日更新)の主な変更点

  1. J-Total Music の新レイアウトに対応。また旧レイアウト一部仕様変更に対応
  2. J-Total Music の旧レイアウトページでマウスで歌詞選択できなかったのを修正
  3. 楽器.me でポップアップ広告が出ていると画面スクロールができなくなるのに対応
  4. U-フレットで譜面内のテキスト広告を消した
  5. U-フレットで歌詞の上でマウスカーソルがポインタになっていたのを修正

対象サイト(2019年9月15日現在)

「RV可」のサイトはFirefoxのリーダービューで閲覧できます。
  • J-Total Music music.j-total.net(RV可)
  • 楽器.me gakufu.gakki.me(RV可)
  • U-フレット www.ufret.jp (自動で折り返した行がページ上端に来る場合コードが欠けます。RV可)
  • ChordWiki ja.chordwiki.org(RV可)

実行例


J-Total Music - before
J-Total Music - after

楽器.me - before

楽器.me -after
U-フレット - before
U-フレット -after
ChordWiki - before
ChordWiki -after

バグレポート


楽器を弾けないのでこれらコード譜サイトもブックマークレットの動作確認のためたまにのぞく程度です。ブックマークレットが効かなくなったらご一報ください。ゆる~く対応します。

これまでのバグレポートの集計結果を表示

【重要】送信したレポートの集計結果は一般公開され記入した内容は誰でも見ることができます。メールアドレスなどの個人情報は記入しないでください

2018年6月6日水曜日

お客様のクレジットカードですが、クレジットカード会社より、ご利用いただけない旨の連絡を受けております

ソフトバンクとIIJmioの毎月の利用料金をジャンパンネット銀行のVisaデビットで支払っていたが有効期限が6月までだったので5月初旬に番号を変更して新カード番号を両社に登録した。IIJmioは5月7日に電話で手続きし同日登録完了のメールが来た。ソフトバンクへは5月11日に新カード登録申請の葉書を投函した。
【注意】IIJmioは現在Visaデビットでの新規契約はできない。僕が契約した2015年当時はできていて当時から継続して使用している場合のみ今でもVisaデビットを使用できる。

IIJmioからの通知


5月11日にIIJmioから「ご指定いただいておりますお客様のクレジットカードですが、クレジットカード会社より、ご利用いただけない旨の連絡を受けております」という内容のメールが来て、後に5月9日付の「IIJmioサービス停止予定のお知らせ」とコンビニ払込票が郵送されてきた(詳しい経緯は前の記事にある)。
通知の内容を一部抜粋する。
さて、ご指定いただいておりますお客様のクレジットカードですが、クレジットカード会社より、ご利用いただけない旨の連絡を受けております。
つきましては、下記「●ご対応方法」並びに同封の「IIJmioご利用料金決済のためのご対応方法について」を参照の上、ご対応をお願いします。期日までにご対応されなかった場合、誠に残念ながらご契約サービスの停止並びに契約の解除をさせていただきますので、予めご承知おきください。
(中略)
[サービス停止予定日]  2018年06月06日
[契約解除予定日]    2018年07月06日
悪意をもって要約すると「サービス止めるよ! カード会社がお前のクレジットカードは使えないって言ってて4月分の料金が決済できねえじゃん。とっとと払わねえとサービス止めるし契約も解除するよ!借金払えよ!このうすら馬鹿!」となる。
ところが前提となる「クレジットカード会社より、ご利用いただけない旨の連絡を受けております」がまったくの事実無根なのだ。次のソフトバンクのケースと併せて後で事実関係を明らかにする。

ソフトバンクからの通知

5月31日になって今度はソフトバンクから5月26日付の請求書&払込用紙とともに「お振込み用紙でのお支払いのお願い」が郵送されてきた。一部抜粋。
この度ご契約のクレジットカード会社より、今回の弊社のご利用料金のお支払いにつきましては、ご指定のクレジットカードをご利用いただけない旨の連絡がございました。
(中略)
*クレジットカードをご利用いただけない詳細理由などにつきましてはご契約のクレジット会社へお問い合わせください。
IIJmioと同じく「クレジットカード会社より(中略)クレジットカードをご利用いただけない旨の連絡がございました」は事実無根である。

カード会社に問い合わせる

さて、事実関係を明らかにしていこう。どちらも即ジャパンネット銀行JNB Visaデビットカスタマーセンター(以下カード会社)に問い合わせた。IIJmioもソフトバンクも新カード番号登録時の有効性確認の問い合わせの記録は残っていた。もちろん有効なカードですよと応答している。しかし二社ともに料金の請求が来た記録が残っていない。収納代行業者等を使っていれば請求者の名前が違っていることもあるが新カード番号発行以来どの請求に対してもエラーを返していない。(また更新前の旧カードも有効性確認が来てエラーを返したこともないし請求が来てエラーを返したこともない)。つまりどこの誰に対してもカード会社は「このクレジットカードは利用できない」などとは言っていない。
請求側かカード会社かどっちかが嘘をついていることになる。

ソフトバンクの対応

カード会社の回答を受けてソフトバンクに問い合わせて請求側が嘘をついていることがわかった。カード会社の回答を伝えてサポートに調べてもらったところ、ソフトバンクは審査会社を介してカード会社に料金を請求をしており、審査会社が旧カードの有効期限・新カードへの切り替えタイミング等を独自に判断してカード会社に請求を出さずに今回の料金については振込にするという決定をした、次回分から新カードに請求が行く、ということだった。

ならば「クレジットカード会社より(中略)クレジットカードをご利用いただけない旨の連絡がございました」と事実無根のことを書かずに最初から「支払方法の変更手続きに伴い今回は振込でのお支払いをお願いします」とでも書いてくれればよかったのだ。それならカード会社にもソフトバンクにも電話で問い合わせるという手間をかけずに済んだのだ。

と不満は残るがソフトバンクは問い合わせに対して状況を把握して何が起きたのかということをきちんと説明してくれた。通知の文面は今後修正する必要があるが当然とはいえ状況を合理的に説明してくれたことには感謝する。

IIJmioの対応

問題はIIJmioだ。IIJmioも収納代行業者を介してカード会社に料金を請求している。カード会社の回答を伝えてもサポートは当初文面以上のことはわからないと全く解決にならないことを言うので、「クレジットカード会社より、ご利用いただけない旨の連絡を受けております」のならばカード会社から返されたエラーが残るはず、収納代行業者にカード会社の回答を伝えてこちらが納得できる説明を求めてくれ、と頼んだ。だが収納代行業者は個別の決済の詳細は答えられないと説明を拒否してきた。

収納代行業者がより具体的な状況を説明しない限りこれ以上原因を追求することはできない。IIJmioのサポート及びカード会社のサポート両者の「別のカードを登録してみてはどうか」のアドバイスに従って新たにVisaデビットのカード番号を発行(新々カード)して登録したが、新カードを使えなかった理由が分からないのだから新々カードを登録したところでまた使えない可能性がある。おおいに不満と不安が残った。

ソフトバンクの件を受けてようやくこのIIJmioの件が理解できた。IIJmioの収納代行業者もソフトバンクと同様カード会社に請求を出さずに独自の判断で支払いをコンビニ払込に変更したのだ。収納代行業者が説明責任を果たさないので推測ではあるのだが間違いないだろう。料金の請求自体まったくしていないのに「ご指定いただいておりますお客様のクレジットカードですが、クレジットカード会社より、ご利用いただけない旨の連絡を受けております」と事実無根の理由を挙げて、こちらが請求に対して支払いを怠ったとしてこの再度の請求に対して支払わないと「契約サービスの停止並びに契約の解除」に及ぶと言ってきたのだ!

言語道断! 改めてご立腹である。

おそらくIIJmioも新々カードを登録する必要はなく、今回だけコンビニで払い込んで後は放っておけば、ソフトバンク同様新カードで次回からの決済が問題なく行われていたと思われる。

IIJmioはカード会社に請求が行ってない事実を後に把握

というのは新々カードの登録完了のメールで、既に届いている4月分のコンビニ払込票は破棄してくれ、4月分は5月分と一緒に新々カードで決済する、と言ってきていたからだ。当時はこの意味するところがわからなかった。新カードで決済に失敗した顧客が新たに登録した新々カードによる決済がコンビニ払込より確実だとどうしてわかる?

IIJmioは、4月分はカード会社に請求が行ってなかったし5月分(6月決済)からは新カードで決済できていたはず、という事実をこの時点で把握していた。つまり6月からはカードでの決済が問題ないことを把握していたので送付済みのコンビニ払込票を破棄し新々カードで決済することにしたのだと思われる。

こちらは何が起きているのかさっぱり理解できず、クレジットカード決済の仕組みを調べるやら問い合わせやら回答待ちやら新々カード番号の発行やらと随分とリソースを消費させられた。事実を把握したのであれば事後であってもひと言説明するのが筋だろう。

蛇の足

 ここまで事実が明らかになれば蛇足になるが念のために書いておく。IIJmioの4月分料金は6月3日に、5月分料金は6月6日に新々カードで問題なく決済された。
 

2018年5月15日火曜日

カード会社に請求も出さずにカードが使えないと言いそれ以上の説明を拒む収納代行業者

カードでしか決済できないサービスも多く使えるはずのカードが使えないのはカード所有者に不利益をもたらす。今回カード会社が「使えるし使えないと応答した記録もない」と言ってるカードを収納代行業者が「カード会社が使えないと言っているから使えない」と言うだけで具体的な説明をしないという納得できない経験をしたので同じ思いをした人とこれからするかもしれない人の参考に書き残しておく。

有効期限が迫ったので新カードを登録

IIJmioの支払いにクレジットカード(JNB Visaデビット)を使っている。カードの有効期限が近づいたので5月7日にJNBのサイトで当該カードの番号を変更した。JNB Visaデビットの場合有効期限だけが変わるのではなくカード番号もそれまでの番号が無効になり新しい番号が発行される。
*ちなみにIIJmioは現在Visaデビットでの新規契約はできない。僕が契約した2015年当時はできていて当時から継続して使用している場合のみ今でもVisaデビットを使用できる。

早速新しい番号を登録しようと正規のカード情報変更フォームで送信してみたがVisaデビットのせいかエラーになる。サポートに連絡し折り返しの担当部署からの電話に番号等を伝えた。当日中に「本日、ご連絡いただきましたクレジットカードへ変更登録させていただきました。2018年 4月利用分(x,xxx円)ご請求より、本カード番号にてカード会社に報告させていただきます」とのメールが来た。

新カードが利用できない?!

やれやれ一件落着と思っていたら5月11日に「ご指定いただいておりますお客様のクレジットカードですが、クレジットカード会社より、ご利用いただけない旨の連絡を受けております」のメール! その後同様の通知と4月利用分のコンビニ払込票が郵送されてきた。コンビニ払込票には収納代行DSK電算システムの名前がある。

決済できない理由が思いつかない。ひとつ考えたのが旧番号に請求が行ったのではないかということ。それでIIJmioのサポートに問い合わせた。翌日、新番号に請求が行っているとの回答があった。

カード会社に問い合わせる

それを確認して今度はJNB Visaデビットカスタマーセンター(以下カード会社)に電話しIIJmioからのメールの内容を伝え調べてもらった。で返答の要点は4つ。
1.新カードは使用可能
2.記録を見たがIIJmioからと思われる請求はない
3、IIJmioに限らずどこからの請求に対してもエラーを返していない
4、念のため旧番号も調べてくれたようで旧番号のほうも5月7日以降上記2と3であることは同じ

説明を拒否する収納代行業者

上記内容をIIJmioに伝えエラーの内容を具体的に教えてほしいと依頼。当日折り返しの電話があったが使えないということ以上のことはわからないという何の進展もない回答だった。収納代行業者を経由しているようなので収納代行業者にカード会社の回答を伝えてそのうえで説明を求めてくれるよう依頼。翌日回答の電話があった。収納代行業者からはカードが使えないとなった経過やエラー内容などの情報は開示できないとの返答だったということ。説明を求めるに十分な根拠を挙げたつもりだがそれに応える誠意といったものは端から持ち合わせていないようだ。まあ収納代行業者はBtoBのビジネスだから一個人を相手にするはずもなし、か。

ひたすらに憶測するのみ

今回の現象を合理的に説明できるものとして唯一思いつくのは収納代行業者が間違った番号に請求を出した可能性だ。これなら収納代行業者が「カード会社が使えないと言ってきた」という事実と当のカード会社の調査による「カードは使える。IIJmioからと思われる請求はない。どの請求に対してもエラーを返してない」という事実が矛盾しない。

これは確認したのだが、IIJmioへの新カード登録時に間違った申請をしてそれが通ったということはない。登録の時点(請求の時点ではない)でカード会社にカードの有効性の問い合わせが行きカード会社は有効との応答を返した記録が残っている。IIJmioは新カードの情報が正しいことを確認して登録を完了しているのだ。

まったくもって納得いかず腹立たしいことこの上ないのだが収納代行業者が説明を拒否しているのでこれ以上原因を究明することはできない。

原因不明なまま新たなカードを登録。残る不安

IIJmioとカード会社の両方のサポートから別のカードを登録してみてはという提案があったのでまた一つ新カード番号(新々カード)を作って登録した。今回も登録は問題なく完了した。

次回の請求は6月上旬である。次回も決済できないとなると収納代行業者が具体的な状況を説明しない限りこれ以上の対策をとることはできない。IIJmioの支払い方法はカードだけである。IIJmioとの契約は打ち切りにならざるを得ないだろう。どうなることやら。

6月6日追記

新々カードの登録完了のメールに次の一文があった。
なお、2018年 4月のご利用料金につきましては、2018年 5月ご利用料金と同月決済とさせていただきます。
請求書がお手元に届きましたら、破棄いただくようお願いいたします。
カードが使えないからコンビニで払えと4月分の払込票を送ってきておきながら、使えるかどうか分からない新々カードから5月分と一緒に引き落とすというのだ。なんだか奇妙な対応だ。この対応の理由は次の記事で明らかにする。

2017年10月29日日曜日

スマホでブックマークレットを登録して使う方法【Android版Chrome編】

スマホやタブレットでもブックマークレットを使うことができるがPCとは登録方法や使い方が少し異なる。スマホ初心者のためにスクリーンショットを入れて解説する。

初心者のためにブックマークレットについてひとつ注意しておきたいことがある。 ブックマークレットの効果は実行したときに表示していたページだけに有効だ。ページを再読み込みしたり違うページに移ったりしたら効果は消える。

では始めよう。

ブックマークレットを登録する


ダミーのブックマークを登録し、その名前をブックマークレットの名前をコピペして書き換え、URLをブックマークレットのアドレス(javascript)をコピペして書き換える。では順番に説明する
  1. まずダミーのブックマークを登録する。適当なページでブラウザメニューを開く。


  2. ☆マークをタップすれば表示中のページがブックマークに登録される


  3. 次は今登録したブックマークを編集していく。まずは名前の書き換えだ。ブックマークレットを置いてあるページを表示してブックマークレットのリンクを長押しする


  4. メニューの「リンクテキストをコピー」タップする


  5. ブラウザメニューを開き「ブックマーク」をタップする


  6. リストからダミーで登録したブックマークを見つけ右端の3点マークからメニューを開く


  7. メニューの「編集」をタップする



  8. 名前の適当な場所を長押しして「全て選択」をタップ


  9. 全て選択された状態で「貼り付け」をタップしてリンクテキストを貼り付けて名前を書き換える。(ここでは元の名前を尊重する手順を示したが自分が分かりやすい使いやすい好きな名前にして構わない)

  10. 書き換えた名前はブックマークレットを実行するときに必要になるので覚えておく。左上の←マークで編集を終了する


  11. 右上の×マークでブックマークリストを閉じる


  12. 元のページに戻るので今度はURLの書き換えだ。再びブックマークレットのリンクを長押しする


  13. 今度はメニューの「リンク アドレスをコピー」タップする


  14. ブックマークリストを表示させリストからさっき名前を書き換えたブックマークを見つけ右端のメニューから編集画面を開く


  15. URLの一部を押すと全て選択状態になるので「貼り付け」をタップしてリンクアドレスを貼り付けてURLを書き換える

  16. URLを書き換えたらブックマークレットの登録が完了。ブックマークリストを閉じて終了。(豆知識:ブックマークレットのURLはjavascriptというプログラミング言語のコードになっている)



ブックマークレットを使う


  1. 表示中のこのページでブックマークレットを使おう。アドレス欄に登録済みのブックマークレットの名前を入力する



  2. するとドロップダウンリストの候補一覧にブックマークレットが表示されるのでタップする。このときブックマークレットが実行される


  3. 実行した後は元のページに戻る。実行の効果はブックマークレットによってさまざまだ。(ZoomMe実行後の拡大操作についてはZoomMeのページを参照)


以上で解説終わり。あなたがブックマークレットを使えるようになっていれば嬉しい。

2017年10月28日土曜日

スマホでブックマークレットを登録して使う方法【Android版Firefox編】

[2021/9/9] android版firefox v.92.1.1 でブックマークレットが使えました! 諦めて完全放置していたのですがいつのまにか修正されていたようです。個人的には代替手法に移行したのでブックマークレットには戻りません。

[2020/8/19] android版firefoxがv.79.0.4になりブックマークレットが使えなくなりました💩

スマホやタブレットでもブックマークレットを使うことができるがPCとは登録方法や使い方が少し異なる。スマホ初心者のためにスクリーンショットを入れて解説する。

初心者のためにブックマークレットについてひとつ注意しておきたいことがある。 ブックマークレットの効果は実行したときに表示していたページだけに有効だ。ページを再読み込みしたり違うページに移ったりしたら効果は消える。

では始めよう。

ブックマークレットを登録する(2021/9/13現在この方法では登録できません。「リンクをブックマーク」がメニューに出なくなりました。今は更新する気力が・・・)

  1. ブックマークレットを置いてあるページを表示してブックマークレットのリンクを長押しする


  2. 出てきたメニューから「リンクをブックマーク」をタップして登録する

これで登録は完了だ。

ブックマークレットが登録されているか確認する

  1. ブラウザのメニューを出す


  2. 「ブックマーク」をタップする


  3. ブックマークの一覧が表示されるので登録されているか確認する。ブックマークレットを実行する時に名前が必要なので覚えておく


ブックマークレットを表示中のページで実行する


ページを拡大できるようにするブックマークレットZoomMeを例として説明してゆく。モバイル版Youtubeは拡大できないので拡大できるようにZoomMeを実行してみよう。
  1. アドレス欄に登録済みのブックマークレットの名前を入力する


  2. するとドロップダウンリストの候補一覧にブックマークレットが表示されるのでタップする。このときブックマークレットが実行される


  3. 実行した後は元のページに戻る。実行の効果はブックマークレットによってさまざまだ。


  4. ピンチで拡大操作するとZoomMeの効果で拡大できる。


以上で解説終わり。あなたがブックマークレットを使えるようになっていれば嬉しい。