2024-09-11
@Shimanet777さんからご要望いただき、調査。IchigoJam webでのプログラムがXでシェアできないとのこと。

URIエンコードするコードはすでに入っていますが、「(」「)」が含まれていると、X上では一連のURLとして認識されず、切れてしまうことが判明。


スペース以降、すべてのキャラクターを含むプログラムがシェアできることが確認します。

そこで、X対応のURIエンコード「encodeURIComponent2.js」を作成。 export const encodeURIComponent2 = (s) => { s = encodeURIComponent(s); s = s.replace(/\(/g, "%28"); s = s.replace(/\)/g, "%29"); return s; }; カッコ以外にも対応すべきキャラクターがあれば、下記のようなコードも書いていましたが、2つしかなかったので戻しました。 const encs = "()"; const fix02 = (s) => s.length == 1 ? "0" + s : s; export const encodeURIComponent2 = (s) => { if (!s) return s; s = encodeURIComponent(s); for (const c of encs) { const ch = "%" + fix02(c.charCodeAt(0).toString(16)); s = s.replace(new RegExp("\\" + c, "g"), ch); } return s; };


九九のプログラムも無事シェアできました!


@Shimanet777さん、ご要望ありがとうございました!

links
- IchigoJam BASIC on the web by WebAssembly

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS