Tagged ‘JavaScript’

URLエンコーディングの違い

URLエンコードはその名の通りURLに使えない文字をエスケープする記述ですが言語や関数によって若干ぶれがあるのですが実際に比較検証した事がなかったのでやってみました。
まずURLはURL Standardに定義されていて
PHPの世界ではurlencode()とrawurlencode()があってurlencode()は半角スペースを「+」に変換したり「~」も変換したりします。
Pythonはurllib.parse.quote()とurllib.parse.quote_plus()があってurllib.parse.quote_plus()は半角スペースを「+」に変換したり「/」も変換したりします。
JavaScriptはencodeURI()とencodeURIComponent()があってencodeURIComponentはURI予約語「#$&+,/:;=?@」も変換するという違いがあります。

(さらに…)

Cookieの有効期限調査

EUのGDPR(一般データ保護規則)とかカリフォルニアのCCPA(消費者プライバシー法)が策定されても当時は海外の話しだしサードパーティ系の話しはマーケッターじゃないので直接的な影響は無かったのですが、AppleがファーストパーティーCookieに制限がかかったITP2.1(Intelligent Tracking Prevention)をwebkitに実装してからはWEB制作にも影響が出てきました。
数年前ならいざ知らず、レンダリングエンジンはBlink一強の現状でITPに合わせる必要無さそうですが、それはPCの話しでスマホのシェアの大きいiPhoneのSafariを無視することは出来ずITPに従わざるを得ない状況です。(WEBもアプリもしてるGoogleはWEBに先進な技術を採用してますがAppleはアプリのみなので個人情報を盾にWeb技術には後進的です。)

サードパーティは切り捨てるしか無いけどクッキーは一週間あるからまあいいかと思ってたら、一部のブログ等でITP2.2からクッキーの有効期限が1日になったという記事を散見したので調査することにしました。

(さらに…)

丸数字ポインター

10年近く前にオンラインソフトの紹介の為にスクショに矢印(数字付き)や矩形を描くWEBツールを使ってたのですが、先日オンラインソフトの紹介記事が古くなってので一掃してこのWEBツールも葬られる予定だったのですが。
誰かに使ってもらえればとブラッシュアップし「丸数字ポインター」としてGitubに公開する事にしました。

https://github.com/uda2/numpointer

画像編集ソフトで直接描くのと違い、同じ画像に矢印だけが違う場合は容量の節約になりますし、再圧縮しないので何度編集しても画像の劣化も無いというメリットもありますのでよろしければお使い下さい。

(さらに…)

事務所サイトのリニューアル

補修を繰り返しごまかしごまかし運用してた事務所用サイトtenhp.comも13年も経ってるのでリニューアルいたしました。

https://tenhp.com/

制作当時はそれほどスマホも浸透しておらず、スマホの前身であるWindows mobileなどが不人気だったことから「日本ではスマホよりもモバイルゲーム機でネットを見る時代が来るのでは?」と謎な発想でモバイルゲーム機でも見れる横幅で作成してましたのですが、一般的なサイズにしました。

公式サイトではあるので奇抜にはしたくないですが技術的デモンストレーションという面もありますので要所で変態的なコーディングになっています。

(さらに…)

WEBで音声操作

昔、「しゃべる!DSお料理ナビ」というゲームがあって調理中でも音声でレシピの手順を進める事が出来た。
今やDSは使わないけどiPadとかで音声操作できるブラウザがあったら便利かもと検索したら「Speech Recognition API」というJavaScriptのAPIが見つかったので試して見ることにした。

(さらに…)

MakeLink替わりのブックマークレット

Firefox Quantum

Firefox Quantumのアップデートで速さと引き替えに多くのアドオンが動作しなくなりました。半年ほど経過し現在下記のような感じで落ち着きました。
Biscuit:削除したくないクッキーを保護 → Cookie AutoDelete
Copy Plain Text 2:プレーンテキストでコピー → Copy PlainText
Pearl Crescent Page Saver:ページをスクショ → Page Saver WE
QuickDrag:テキストをドラッグで検索 → QuickDrag WE
User Agent SwitcherUAを切り替える → User Agent Switcher
Tab Mix Plus:ページタブをカスタマイズ
後継のTab Mix WebExtensionもあるが執筆時点では殆どの機能が使えない。
・多段タブ → あきらめた
・新しいタブをホームページに → New Tab Override
・ブックマークを新しいタブで開く → 設定(about:config)で「browser.tabs.loadBookmarksInTabs」をtrueに変更
・検索結果を新しいタブで開く → 設定(about:config)で「browser.search.openintab」をtrueに変更

そして本題のMake Linkの代用ですが、昔はJavascriptでコピーしようとしたらIE以外はコピーの機能が無かったので裏でFlashを動かしたりしていたが昨今はClipboard APIでクリップボードを制御できるしexecCommandを使えばコピーを実行出来るようなのでブックマークレットを作って代用してみた。
(さらに…)