投稿

[拡張機能] chrome.runtime.sendMessage() の備忘録

イメージ
ここ最近 Chrome 拡張機能 を作って遊んでいますが、 Chrome 拡張機能 API の『 chrome.runtime.sendMessage() 』というAPIメソッドを使った拡張機能のコードをテスト中に、 Unchecked runtime.lastError: The message port closed before a response was received. というエラーが出て来たのですが、どう対処して良いのか当初はこのメッセージからは直ぐに理解できなかったので、ここに備忘録としてメモしておきます。 セキュリティー上の仕様 Chrome拡張機能ではセキュリティー上、各「ユーザーインターフェース (UI)」、 「バックグラウンドプロセス」とWebページ上に埋め込まれる「コンテント (Content) スクリプト」のプロセスは、各自、違うプロセスで処理されて、メモリ領域も分離されています。 なので、拡張機能のバックグラウンドページで宣言されている変数の値をポップアップを処理するスクリプトから 直接 アクセスする事は出来ません。 拡張機能のポップアップやオプションページのスクリプトの場合だと、バックグラウンドページに限っては拡張機能APIの『 chrome.runtime.getBackgroundPage() 』メソッドを使うとバックグラウンドページのインスタンスが取得出来るので、バックグラウンドページのプロセスで任意のメソッドを実行出来ます。 例として、ポップアップ又はオプションページのスクリプト内に: chrome.runtime.getBackgroundPage().console.log("ログメッセージ"); という行を加えると、「getBackgroundPage().」以降に続く「console.log(...)」がバックグラウンドページのプロセスで処理されるので、バックグラウンドページのコンソールのログに「ログメッセージ」と出力されます。 でも、このAPIはコンテクストスクリプトでは使う事が出来ない...

GOSS G581E 機械式燃料ポンプのOH備忘録

イメージ
GOSS G581E 機械式燃料ポンプ 先日、50年ほど前の旧車の燃料ポンプをオーバーホール (OH)したのでここに備忘録として記録しておきます。 ポンプはオーストラリアの GOSS 社製で、ポンプの型番は「 G581E 」でした。 エンジンから取り外した直後の状態ですが、真っ黒です。。 画像の構図だと、ポンプ本体の右側に出っ張っているホースの取り付け部からガソリンが吸引されて、反対側のパイプに排出されます。 手前に伸びているレバーはロッカーアームで、エンジンによって押し上げられるとポンプ内部のダイアフラムが押されてポンプ内部のガソリンが押し出される仕組みになっています。 図解 違う車の整備マニュアルに同じポンプの図解があったのでここに貼っておきます。 ((5番、9番と13番のパーツが図解から抜けていますが。。 アバウトな整備マニュアル。。 GOSS 631VC リペアーキット 古い車なので新品パーツに交換などとは出来ませんが、オーバーホール用のリペアーキットがネット通販にあったので取り寄せました: GOSS 631VC 5-hole Diaphragm and Caged Valves 5つ穴のダイアフラムとケージバルブ2個の他に、ワッシャーとガスケット各種が同封されています。 オーバーホール 本体をCRCで簡単に洗浄してみた処、こんな感じに。。 (注: 本体の上部と下部を留めるネジ5本(23番)は既に外してあります。) 本体上部のネジ(1番)を外して蓋(3番)とガスケット(4番)を取り外すと黄色の金属フィルター(5番)が内蔵されていました。 フィルターを取り外すと底にかなりの量の茶色いカスが溜っていました。 もしもフィルターが無かったら、このカスがキャブレターまで流れ込んで、ジェットを詰まらせていたかもしれません。。 ポンプ本体上部(6番)の裏にはバルブ2個(8番)がH型のリテイナー(9番)の下にネジ止めされていました。 ...

ブログのSVG画像、TITLEタグとSEO

イメージ
48x48ピクセルのビットマップ画像を拡大表示した場合 インターネットで一般的に使われているGIF、JPEGやPNGといった画像は、 ラスターグラフィック (Raster Graphics) というタイプの画像で、別名、ビットマップとも呼ばれています。 画像を縦横のマス目に分けて、各座標ポイントの色を保存している画像になりますが、拡大表示すると画質が粗くなってしまう特徴があります。拡大しても画質が粗くならない様にビットマップの解像度を増やす事も出来ますが、そうすると、画像を保存するのに必要なのファイルサイズも大きくなります。 一方、 ベクターグラフィック (Vector Graphic) という、ベクターによって記述されているタイプの画像だと、拡大表示しても画質が落ちないという利点があります。 ベクターグラフィック (Vector Graphic) ベクターグラフィックは、ベクター(ベクトル)で記述出来る直線や曲線の座標を指定して描画します。 ベクターグラフィックを拡大表示した場合、ラスターグラフィックの様にすでに描画された画像を高い解像度に引き伸ばすのではなく、拡大された座標で幾何学的に描画するので画質が落ちる事がありません。 風景画の様な不規則な形で構成される写真などには不向きですが、ロゴやアイコンという直線や曲線がベースの画像だと、比較的簡単にSVG画像として描画する事が出来ます。 SVG画像 48x48SVG画像を拡大表示した場合 最近のブラウザで標準対応しているベクターグラフィックだと、 SVG ( S calable V ector G raphic)というの画像形式があります。 (TrueTypeやOpenType...

PITATTマスクを印刷してみた: その2

イメージ
以前の記事「 PITATTマスクを印刷してみた 」で、フレキシブルという柔らかいタイプのフィラメントでレギュラーサイズのPITATTマスクを印刷してみましたが、今回はPITATTマスクの夏バージョンの「PITATT Cool」をホットエンドヒータ交換後(👉 過去記事 )の試運転として一般的なPLAフィラメントで印刷してみました。 フィラメント 今回の印刷はRSコンポーネントの1.75mmPLAのフィラメント、商品番号: 832-210 の「RS PRO 1.75mm Natural PLA 3D Printer Filament, 1kg」を使ってみました。 商品ページ には融解温度(Melting temperature)は「145-160℃」ありますが、出力温度についてはデータシートの欄にリンクが貼られている PDF には: Thermal properties Description Testmethod Typical value printing temp. - 180-210℃ melting temp. - 210℃ ± 10℃ melting point ASTM D3418 145-160℃ vicat softeninig temp. ISO 306 ±60℃ といった表があります。 出力温度(printing temp.)はPLAの一般的な温度の180-210℃となっていますが、融解温度(melting temp.)は「210℃ ± 10℃」(200~220℃)と表記されていて、商品ページの情報とは食い違っています。 たぶん、ごく一般的なPLAの情報が貼り付けられているのだと思うのですが、この表の一番下の段にある「vicat softning temp. (ビガット軟化温度)」は特定の柔らかさにな...

Google Chrome 拡張機能 APIs (Extension API)

イメージ
ここ最近 Google Chromeの拡張機能を作って遊んでいますが、JavaScripとCSSのある程度の知識があれば、テキスト・エディタとPNGを扱える画像編集ツールだけで拡張機能の開発が可能で、専用のコンパイラも必要ないので、そのはじめ方を簡単に書き留めておきます。 ブラウザ拡張機能 Webブラウザは、本来、インターネットを閲覧する為のアプリだったと思いますが、インターネットを閲覧しながら何かをするという使い方が一般的なのからでしょうか、最近の主流ブラウザには補助機能や便利ツールといった特定の機能を『 Add-on (アドオン) 』又は、『 Extension (エクステンション) 』と呼ばれるパッケージをダウンロードする事で新しい機能を追加出来る『 ブラウザ拡張機能 』があります。 このブラウザ拡張機能のパッケージは一般的なブラウザが標準で読み込める、HTML5、JavaScriptやCSSといったファイルで構成されているのが普通で、ブラウザがこれらのファイルを読み込んだ後、ファイルの内容に従って動作します。 でも、インターネットで使われる普通のJavaScriptだけではスクリプトが読み込まれているブラウザのページ以外のページにアクセスが出来ないなどと、いろいろな制限があるので、各ブラウザーがサポートするJavaScriptの拡張機能開発 APIs (Application Programming Interfaces) を使って拡張機能を開発するのが一般的です。 過去にはブラウザーごとに個別の拡張機能APIsが存在していた時期もありましたが、最近はGoogleのChromeブラウザの内部で使われているオープンソースの Chromium ブラウザーが「 Microsoft Edge 」、「 Opera 」といったブラウザーの内部でも使われているので、そういったブラウザーであれば、Google Chromeブラウザ用の拡張機能「 Chrome拡張機能 (Chrome Extension) 」をそのまま使える場合がほとんどみたいです。 以前、『 Plug-in (プラグイン) 』と呼ばれるパッケージもあったみ...

Windows 10 フィーチャーアップデート直後ログインでスタック & 対処方

イメージ
比較的最近のウインドウズのパソコンなら特に問題は無いのですが、かれこれ長い間使っている年季の入ったパソコンのWindows 10でのあるあるの一つで、 「 アップデートが始まるとに終わるまで長い間何も出来ない 」 というのがあります。 最近、後回しにしてきた Windows 10バージョン2004 のフィーチャーアップデートを 10年落ちの古いラップトップ で実行した処、ダウンロードとインストールに半日程かかった挙句、ログインしてもクルクル回る表示が出るだけで次に進めないという状態になってしまいました。 でも、どうにか修正出来たのでその対処方法をここにログとして書いておきます。 (10年前のラップトップをまだ使っていますが、3Dプリンター用などで問題無く使えるのと、32ビットのWindowsアプリを動かす事も出来るので「何故に10年も前のパソコンを?」という質問はしないで下さいw😇。) バージョン2004 フィーチャーアップデート 今年の5月末 にリリースされたバージョン2004のフィーチャーアップデートですが、家で使っているある比較的新しいWindows 10のデスクトップパソコンでは知らないうちに勝手にアップデートされていましたが、10年程前に手に入れた古いラップトップパソコン (32ビット) だと消極的で、リリースかから4か月経った 10月 に入っても自動アップデートはされず、「Windows Update」に「 更新の準備が出来たら「ダウンロードしてインストール」を選択してください。 」というメッセージが出ている状態でした。 古いパソコンだと、Windows のフィーチャーアップデートのダウンロードとインストールにかなりの時間がかかるのと、アップデートによっては古いハードやソフトがサポート外になってしまう事もあったりするので (例: 👉「 ラズベリーパイとLCD-USB7XW/BとLCD-USB10XB-T (前編) 」) 大概、大きなアップデートは急がずに、なるべく後回しにしています。。 でも、今回は手持ちの3Dプリンターのヒーターを交換したので、プリンターのテストも兼ねていろいろ試してみたいと思っ...