User:
Pass:
Keep:   
Xoops Cube Project
XOOPS Cube Project Site
Powered by Google


Powered by XOOPS Cube Legacy 2.1.8
PukiWikiMod 1.5.1
WordPress Module 0.6.0 Alpha
bookmarkletのトラックバックURL自動挿入について 投稿者: kenken 投稿日:2005/02/11(Fri) 15:44 No.1179  
はじめまして.wordpressモジュール,大変重宝して使わせていただいています.
いま,bookmarklet周りを少々みているのですが,trackback urlの自動抽出の部分で,
表示しているurl($popupurl)の最後が,hoge.html#comments,のようになっていると,
bookmarklet.phpの225行目あたりの条件文で失敗してしまい,$tb_urlでトラックバック用のURLを
ちゃんと抽出しているのにも関わらず,bookmarkletのトラックバックURLフィールドに結果が
自動挿入されてません.

個人的には,小手先ハックでなんとかなるのですが,これは設定などでどうにかなるのでしょうか?
たとえば,コメントをクリックして,blog記事の詳細をみるページに移動後,ここでboolmarkletを
起動しようとしたときなどに,上記現象が発生します.

ここに投稿するべきではないかな... 


Re: bookmarkletのトラックバックURL自動挿入について 投稿者: のぶのぶ 投稿日:2005/02/11(Fri) 16:26 No.1181  

引用:

いま,bookmarklet周りを少々みているのですが,trackback urlの自動抽出の部分で,
表示しているurl($popupurl)の最後が,hoge.html#comments,のようになっていると,
bookmarklet.phpの225行目あたりの条件文で失敗してしまい,$tb_urlでトラックバック用のURLを
ちゃんと抽出しているのにも関わらず,bookmarkletのトラックバックURLフィールドに結果が
自動挿入されてません.

なるほど、確かにURLの最後に#comments等が付いているとうまくいきませんね。bookmarklet.phpの、177行目あたりの

$this->url = preg_replace('|/+$|', '', $url);

のところを

$this->url = preg_replace('|/+$|', '', $url);
$this->url = preg_replace('|#.*$|', '', $this->url);

等というように変更する必要がありそうですね。
引用:

ここに投稿するべきではないかな... 

いえいえ、御報告頂きありがとうございました。


Re[2]: bookmarkletのトラックバックURL自動挿入について 投稿者: kenken 投稿日:2005/02/13(Sun) 12:56 No.1187  

ではでは,ついでといっては何ですが,,,

引用:

いえいえ、御報告頂きありがとうございました。


私の試験環境は,Mac OS X + Safariだったりします.
bookmarklet.phpには,日本語はどうやらUTF-8で渡しているらしく,
システムはあいかわらずEUCでつくっているので,激しく文字化けしました.

そこで,
$popuptitle = mb_convert_encoding($popuptitle, $blog_charset, "auto");
$text = mb_convert_encoding($text, $blog_charset, "auto");
を,
if (($is_gecko) && (!isset($Gecko_bookmarklet_fix))) {
の中に加える事によって,文字化けが生じなくなりました.ちなみに,
http://www.kowa.org/modules/yybbs/viewbbs.php?bbs_id=4&serial=974
を加えれば,FirefoxでもSafariでもOKになりました.


Re[3]: bookmarkletのトラックバックURL自動挿入について 投稿者: kenken 投稿日:2005/02/15(Tue) 11:04 No.1192  

すいません.あまり重要でないですけど,これをやったら,(私の環境では)
ほとんど全てのサイトでトラックバックURLの自動挿入が出来るようになったので,
報告します.(ブログページのソースに<rdf:RDF タグがないと当然できません...)

タイトルなんかに,☆とか変な文字を使うと,
<rdf:RDF
:
(snip)
:
dc:description="・・・・・・・・・" <-ここにとんでもない文字列を入れてくれます.

そうすると,bookmarklet.php中の

if (!xml_parse($xml_parser,$buf,TRUE))

の部分で,こけてしまいます.なので,ページのソースを取得した後,
(fclose($fp)した後に)
$tmp_tb_contents = preg_replace('|dc:description=\"(.*)\"|', '', $tb_contents);
こんな感じに,bookmarlketのトラックバックURL抽出に関係しないフィールドは削ってあげます.
# regexpあまり覚えてないです...

それで,上記のxml_parseがfailすることなく帰ってきます.

たびたびお邪魔して失礼しました.


Re[4]: bookmarkletのトラックバックURL自動挿入について 投稿者: のぶのぶ 投稿日:2005/02/15(Tue) 15:05 No.1195  

引用:

kenkenさんは書きました:
すいません.あまり重要でないですけど,これをやったら,(私の環境では)
ほとんど全てのサイトでトラックバックURLの自動挿入が出来るようになったので,
報告します.(ブログページのソースに<rdf:RDF タグがないと当然できません...)

タイトルなんかに,☆とか変な文字を使うと,
<rdf:RDF
:
(snip)
:
dc:description="・・・・・・・・・" <-ここにとんでもない文字列を入れてくれます.

そうすると,bookmarklet.php中の

if (!xml_parse($xml_parser,$buf,TRUE))

の部分で,こけてしまいます.なので,ページのソースを取得した後,
(fclose($fp)した後に)
$tmp_tb_contents = preg_replace('|dc:description=\"(.*)\"|', '', $tb_contents);
こんな感じに,bookmarlketのトラックバックURL抽出に関係しないフィールドは削ってあげます.
# regexpあまり覚えてないです...

それで,上記のxml_parseがfailすることなく帰ってきます.

たびたびお邪魔して失礼しました.

なるほど!!!
タイトルの特殊文字が原因で、xml_parseがこけるなんて事があったのですね!
貴重な報告ありがとうございました。参考にさせて頂きます。


NO: PASS:

このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです
- KENT -