サマリ | ページを指定したフレームに開くプラグイン |
---|---|
リビジョン | 0.1.3 |
対応バージョン | 1.4.2 |
投稿者 | kent |
投稿日 | 2004-01-06 (TUE) 00:54:17 |
質問箱/373で質問して、dev:PukiWiki/1.4/ちょっと便利に/リンクを別窓で開くで解決した別窓表示ですが、同じウィンドウの別のフレームや同じウィンドウに、フレームの含まれたページを読み込ませたい時には対応できません。 もっとフレキシブルにフレームを指定できるように、プラグインにしました。
http://hogehoge/pukiwiki.php?うへ/もげ/むぐ のようにページ名に/を含むページではfunc.phpのis_urlがfalseを返すので、こういう場合はURLエンコードされたURLをコピペするか、ブラケットネームを使ってください。*1
うちのページにおいておきます。
PukiWikiプラグイン-フレーム指定でページを開く-
urlに日本語を指定した場合、エラーになってしまいます。InterWikiだと問題ないのですが対処方法はあるのでしょうか?
kentさんのプラグインを大変便利に使わせてもらっているのですが
&ref()の様に添付ファイルもこのプラグインで呼べるようにしていただきたいです。
tiroさんこんばんは、出来ればどのようなことがしたいのか詳しく教えていただけますか?
申し訳ありません土日にかけて出かけておりました。よろしければURLの例を示していただけませんか?
たとえば、&ref(電話番号表.pdf)を開くと
/index.php?plugin=attach&openfile=%C5%C5%CF%C3%C8%D6%B9%E6%C9%BD.pdf&refer=%C5%C5%CF%C3%C8%D6%B9%E6%C9%BDでも、&opf()で上記のURLを開くと以下の様になってしまいます。
/index.php?plugin=attach&openfile=%25C5%25C5%25CF%25C3%25C8%25D6%25B9%25E6%25C9%25BD.pdf&refer=%25C5%25C5%25CF%25C3%25C8%25D6%25B9%25E6%25C9%25BDう~ん、何か記述のしかたが間違っているような気がします。
%がURLエンコードされてますね・・・すみません。ちょっと待っていてください。
添付ファイルについてはrefプラグインを改造したものを添付ファイルを別窓に開くにおいておきましたので使ってみてください。
kentさん、確認しました。
何点か気になる点があるので、ご報告します。
・echoが、362行目にあるのですがこれは必要ないですよね?
・オプションのframeとnoiconの記述順番を入れ替えると動作が違う。
・ref(ほげ,noicon,frame=_blank);は問題ない
・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう
返事が遅くなりまして、申し訳ございません。
・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう
・「noicon,ほげ」と表示されてしまいます。
・&opfを埋め込んだページを開こうとすると
Fatal error: Call to undefined function: mb_eregi() in d:\user_ftp\rin\plugin\opf.inc.php on line 86
とでます。opf.inc.phpの中身はDLしたまままったく替えていません。PukiWiki1.4.3,PHP4.3.8の環境で動作を行っています。
レンタルサーバのことですので、こちらのPukiWiki/mbstring無しのPHPでの動作の方法で動かそうと思ったのですが、jcode1.35を展開しても動作しません。上と同じエラーになってしまいます。(FAQ末尾にあった変更点はそのとおりに書き直しています)
まだ何か足りないのでしょうか? 関係あるのかないのか分かりませんが、借りているサーバーはこちらの第2サーバです。
呼び出し例; &opf(frame=_blank, page=http://pukiwiki.sourceforge.jp){表示する名前};
が、この時呼び出されるはずのopen_uri_in_new_window.jsが何故か呼び出されず、onclick属性が効かない状態だったので、pukiwiki.skin.ja.php内でjsファイルを常時呼び出すことになりそうです。
もしくは、opf.ini.phpの17行目を
define("OPF_LINK_STYLE", "<a href=\"%s\" target=\"%s\">%s</a>");
としても良さそうな気がします。o0(まずやってみようと試してみたらjs常時呼び出さなくてもこれだけで動きました)
当面、不具合はこれで解消の模様です。teananさん、お時間を割いて付き合っていただいてありがとうございましたm(_ _)m
$arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . $path . $query;を
$port = $url["port"]; if($port == "80" || empty($port)) { $arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . $path . $query; }else{ $arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . ":" . $port . $path . $query; }に変更