Taberareloo 用 Diigo スクリプト 更新

gist: 27ad60db679ce175cd1a - Taberareloo 用 Diigo Model- GitHub 更新完了。ダブルクォートを含むタイトル文字列を正常にポスト出来ない不具合解消。


前のバージョンでは
Project Euclid、オンライン上の"美しい数学"を後押し|STI Updates|情報管理Web
のような例で不具合が発生していた。http://diigo.com/post の URL のパラメータ title でダブルクォートの入った文字列があった場合(encodeURIComponent でエンコードされていても関係ない、バックエンド側で生成する HTML の問題)、つまり
http://www.diigo.com/post?url=http%3A%2F%2Fjohokanri.jp%2Fstiupdates%2Finfo%2F2011%2F01%2F005440.html&title=Project%20Euclid%E3%80%81%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E4%B8%8A%E3%81%AE%22%E7%BE%8E%E3%81%97%E3%81%84%E6%95%B0%E5%AD%A6%22%E3%82%92%E5%BE%8C%E6%8A%BC%E3%81%97%EF%BD%9CSTI%20Updates%EF%BD%9C%E6%83%85%E5%A0%B1%E7%AE%A1%E7%90%86Web&desc=
のような場合、返ってきたページの name が title の input 要素の value 属性の値のダブルクォートが実体参照に変換されていないためそこで値が終了してしまい、残り文字列は他の属性になる。これは post to Diigo ブックマークレットの場合でも再現する。


この不具合に対して結局は url と title パラメータを http://diigo.com/post への最初のリクエスト時に送信せず、スクリプトの側で値を post メソッドの引数として取得できる ps.itemUrl と ps.item を使って明確に指定することにした。


うーん、プレビューで記事を見るとなんかごちゃごちゃしてるけどまあいいか。