- 締切済み
大黒屋本舗さんのjsRSS++
大黒屋本舗さんのjsRSS++ v3.15を設置したいのですが、 うまくいきません。 http://www.daikoku-ya.org/blog/2005/12/29/#more 使っているHPスペースはhttp://fh.aaacafe.ne.jp/です。 説明どうり まずjsRSS.cgiを開き 1行目の#!/usr/local/bin/perlに変更。 Jcode.pmをDLしてファオ/public_html/libにUPロード。 12行目をuse lib './public_html/lib';に変更。 29行目に自分の使っているサーバを追加。 'http://○○○.aaa.livedoor.jp/~○○○/', フォルダのパーミッションを変更。 jsRSS.cgi(705) feed(705) temp(600) 表示させるページのBODYの間にテストでYAHOOニュースRSSのアドレス <script language="JavaScript" src="jsRSS.cgi?url=http://public.news.yahoo.co.jp/rss/"></script> を挿入。 何も表示されずエラーなども出ないので、 JABAが悪いのかCGIが悪いのかもわかりません。 どなたかわかるかた、アドバイスをお願いします。
- みんなの回答 (14)
- 専門家の回答
みんなの回答
- Muller3
- ベストアンサー率81% (800/979)
あら、pipesの説明でURLが省略されてしまいました。 s.src='http://pipes.yahoo.com/yager/rss2json? _render=json&_callback=showRSSfromJSON&url='+encodeURIComponent('ここに取得したいフィードのURLを入れます');
- Muller3
- ベストアンサー率81% (800/979)
代替案を探していたら遅くなりました。 個人情報の提示はこのサイトでは認められていないので、アドレスはいいですよ。 なんとなく原因がわかりました。広告です。 広告が.cgiにも挿入されるので、javascriptとして認識してくれないのだと思います。 http://hpfaq.aaacafe.ne.jp/faq/banner.html#3 menu.htmlという名前だったら広告が挿入されないとのことなのですが… jsRSS.cgiをmenu.cgiにリネームしてみるとか。 (javascriptの方もURLを変更) …多分無駄なあがき(^^; これでだめなら、他のサーバーに変えるか、他の方法を使うしかないと思います。 方法はいろいろあるのですが、今回のようにできない方法もあるので注意が必要です。 一番簡単なのは、 http://www.moondakota.com/archives/2004/09/23/rss_javascript.html こちらで表示したいフィードを登録し、提示されたソースを貼り付けます(未検証ですが、多分できるんじゃないかと) あとは http://creazy.net/2007/12/pipes_rss2json.html こちらのpipesを使わせてもらうか…ただ、Yahooニュースは取れなかったり、フィードによっては文字化けが起こるかもしれませんけども。 「rss2json(Yahoo!Pipes)の使い方サンプル」に示されているソースのうち、以下の部分をnews.hmtlにコピペします。 <div id="rss_viewer"></div> (中略) s.src='http://pipes.yahoo.com/yager/rss2json?_render=json&_callback=showRSSfromJSON&url='+encodeURIComponent('ここにフィードのURLを入れます'); document.body.appendChild(s); </script> これは検証済みです。 今まで使っていたYahooニュースのフィードは表示されませんでした…どこかのブログのフィードURLで試してみてください。
- Muller3
- ベストアンサー率81% (800/979)
>文字化けしているファイル それは「埋め込み文字」という日本語名のファイルです。 内容はそのまま「埋め込み文字の対応表」で解説みたいなものなので、そのファイルは上げなくてもいいです。 「※ の要素に関しては、RSSによっては含まれない物もあります」 というのは、 ※の項目要素を元々出力しないRSSフィードもあるので、その場合は、テンプレートに設定しても表示されませんよ という意味でしょう。 他のファイルの中が文字化けしていることはないですよね? 全てのファイルの文字コードはEUCになっているようですので、編集後もEUCで上書きし、アップするときも全てアスキーで上げてれば問題ないとは思うんですけども。 絶対URLでもだめというのがわからないんですよね…ブラウザからは直に呼び出せてるんですよね???そのURLで。 >出力テンプレートの方を疑ってみて テンプレートは、ブラウザからCGIを直接呼び出してYahooのログが表示されるなら、ちゃんと効いています。ログのソースを表示してみて下さい。 document.write('<div>', '<div class="RSSsite">', '<a href="http://dailynews.yahoo.co.jp/fc/" target="_blank">Yahoo!ニュース・トピックス - トップ</a>', '<div class="RSSdescript">Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。</div>', '</div>', … と、テンプレートで設定されているHTMLを出してると思います。 なので、それを表示する方<HTMLファイルの方の問題だと思うのですが。 そういえばjavascriptに「?」がやたらと入っているのは、ここにコピペしたときのゴミですよね?本当に入っているのは、「jsRSS.cgi」の後ろだけですよね? あと、news.htmlをブラウザから表示させてソースを見て、Javascriptの途中に半角以外のスペースが入っていないか、何かおかしなところがないか確認してみるとか。 ブラウザは、Javascriptオンになってますよね。 ページの更新は、F5キーを使ってみて下さい。 あとはHTMLファイルをもう一度作りなおしてみるとか、スクリプト(スペル)を地道に確認するとか。 このサイトでは実際にファイルを見せていただくわけにいかないので難しいですね~。アドレス提示可能な他のQ&Aサイトかサーバーの掲示板があれば、自分のアドレスを書いて具体的に相談してみた方がいいかもしれません。 CGIは動いているので、あと一息だとは思うんですけど…
お礼
遅くなってすみません。 見直しやUPロードし直しをしていたら いつのまにかこんな時間になっていたもので・・・。 文字化けしているファイルは必要ないとの事なので、 削除しました。 テンプレートの方はMuller3さんのいわれたとおり、 document.write('<div>', '<div class="RSSsite">', '<a href="http://dailynews.yahoo.co.jp/fc/" target="_blank">Yahoo!ニュース・トピックス - トップ</a>', '<div class="RSSdescript">Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。</div>', '</div>', とソースのほうで確認できました。 javascriptの途中に変な文字が入っていたのはコピペのゴミです。 ?が入っているのはjsRSS.cgiの後ろだけです。 Javaは他のスクリプトが動いているのでONになっていると思います。 更新はブラウザの更新とF5を両方試しています。 news.htmlの中身は <TITLE></TITLE> </head> <body> ニュース <script language="JavaScript" src="http://○○○.aaa.livedoor.jp/~line/jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> <script language="JavaScript" src="jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> </body> </html> 相対パスと直接URLから読ませています。 構文エラーが出ているのに気づきまして色々試したのですが、 どうしても構文エラーがでてしまいます。 Muller3さんにこれだけアドバイスいただいてるのに出来ないのが、 悔しくて悔しくて・・・。 アドレスを提示するのに抵抗は無いので、 1度見ていただけないでしょうか・・・?
- Muller3
- ベストアンサー率81% (800/979)
全角スペースだと問題ありますが、半角なら入ってても問題ありません。 3_15のアンダーバーが全角になっているとかいうことはないですよね(笑) あとはそうですねえ… #9で、ブラウザから直にCGIを呼び出して、 document.write(' ', ' ', 'Yahoo!ニュース・トピックス - トップ', ' Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。 を出すことに成功しましたよね? そのURLを入れてみて下さい。 <script type="text/javascript" src="ここにURL"></script> 相対パスで呼んでいたCGIを、絶対URL(httpからのURL)で呼んでみるわけです。これで表示されないとおかしいんですけどねえ…(^^;
お礼
<SCRIPT src=" HPアドレス/jsRSS3_15/jsRSS.cgi/?url=?http://dailynews.yahoo.co.jp/fc/rss.xml?"></SCRIPT> と直接呼び出すようにしても、ダメでした・・・。 出力テンプレートの方を疑ってみて大黒屋本舗さんに 別のテンプレートがありましたので青をDLして http://www.daikoku-ya.org/blog/2004/12/22/#more jsRSS.cgiの21行目のmy $def_temp = 'jsRSS.tmp';から my $def_temp = 'blue.tmp';と変更してみましたが表示されず・・・。 質問ばかりですみませんがtempフォルダの中に About TemplateとjsRSS.tmpの他に文字化けしている 蝓九a霎シ縺ソ譁・ュというファイルがありました。 開いてみたら出力関係なのか # 埋め込み文字の対応表 # for jsRSS++3.15 #SiteTitle# サイトのタイトル #SiteDescription# サイトの概要 #SiteLink# サイトのURL #TimeStamp# エントリーの投稿日時 #WhatsNew# 新着エントリー表示 #WhatsNewFront# #WhatsNew# の前に置く文字 #WhatsNewBack# #WhatsNew# の後ろに置く文字 #Title# エントリーのタイトル #Description# ※ エントリーの概要 #Subject# ※ エントリーのカテゴリー #Creator# ※ エントリーの投稿者 #Link# エントリーのURL ※ の要素に関しては、RSSによっては含まれない物もあります と書かれていました。 いくつかの解凍ソフトを試してみましたが、 それだけが文字化けで解凍されてしまします。 もしかしたらこれが原因なのでしょうか・・・。
- Muller3
- ベストアンサー率81% (800/979)
何か、他のjavascriptを貼り付けてみたらどうでしょう? ブログパーツとか。 http://blog.nissan.co.jp/CUBE/2006/08/cube_3.shtml 例えば、こちらのソースを貼ってみたら、表示されますか? 表示されたら、srcの部分をそっくり差し替えてみたりしてみては。
お礼
Muller3さん、こんばんわです。 つきっきり状態で、アドバイスをいただき申し訳ありません。 アドバイスどうりリンク先のブログパーツを貼り付けたら、 表示もされ車も動き動作は問題ありませんでした。 他のブログパーツもいくつか試しましたが、問題ありませんでした。 ですのでsrc=以降をコピペで書き換えてみましたが、 私のJavaScriptだけうまくいかないようで表示されません・・・。 style系も試しましたがその部分だけは、ちゃんと表示されます。 /public_html直下と/public_html/jsRSS3_15フォルダで 試してみましたがどちらも私のrss部分以外は表示はされました。 あと1つ気になったのですがsrc="の後にスペースが入ってる場合と 入ってない場合があるのですがこれは特に関係ないのでしょうか?
- Muller3
- ベストアンサー率81% (800/979)
その文字化け内容はちょっと違います。 http://自分のアドレス/jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml をブラウザに表示させてみて下さい。 で、ブラウザの文字コードをEUCにすると、Yahooのニュースの見出しがこのように出てきます。 document.write(' ', ' ', 'Yahoo!ニュース・トピックス - トップ', ' Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。 ', ' ', ' ', ' [ 2008/02/03 11:04:02 ] new! みたいな感じです。 これができればCGIの方は問題ないと思うので、あとはjavascriptだと思うのですが…何で表示されないんでしょうね。ブラウザが古いとかいうわけではないですよね。 jsRSS3_15ディレクトリの中にnews.htmlを入れて <script language="JavaScript" src="jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> としてみたり、いろいろしてみて下さい。
お礼
仕事の合間をみてやっているもので遅くなってすみません。 http://自分のアドレス/jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml としてみたとところテンプレートが見つかりませんと出たので、 sRSS3_15フォルダのtempのパーミッションを705に変えましたら Muller3さんの言われたとおりの document.write(' ', ' ', 'Yahoo!ニュース・トピックス - トップ', ' Yahoo! JAPANのニュース・トピックスで取り上げている最新の見出しを提供しています。 ', ' ', ' ', ' [ 2008/02/03 13:54:35 ] new! ', ' []ラミレスがたけし軍団入り? / という風にきちんと出るようになりました。 news.html自体にエラーがないかと一応javascriptの間に <body> ニュース <script language="JavaScript" src="jsRSS3_15/jsRSS.cgi?url=?http://dailynews.yahoo.co.jp/fc/rss.xml"></script> ニュース </body> と挟んでみたのですが、ニュースの文字は問題なく表示されました。 ですのでやっぱりjavascriptのほうに問題があるようです・・・。 news.html場所やsrc="のアドレスを変えてみたり パーミッションを色々してみたのですがどうしてもRSSの表示だけがされない状態です。 ブラウザはIE7、Sleipnir、Lunascapeと3つ試してみました。 使っているHPスペースにはJavaScript禁止などは書かれていないので、 JavaScriptは使っても大丈夫のはずなのですが・・・。
- Muller3
- ベストアンサー率81% (800/979)
エラーではなく、直接CGIにアクセスした場合の正常な状態です。 試しに、cgiのURLの後ろに、フィードのURL(?url=http://dailynews.yahoo.co.jp/fc/rss.xml)を入れてアクセスしてみて下さい。文字化けしているかもしれませんが、 document.write(' ', ' ', 'Yahoo!Yahoo! JAPAN …… と出てくると思います。 呼び出しを許可するサーバーが違っていたら、 Bad Call!! と表示されると思いますし、あとはjavascriptだと思うのですが… news.htmlでは、普通にhtmlの中に入れてるんですよね? <html><head></head> <body> <script language="JavaScript" src="jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> </body> </html> みたいな感じで。 JavaScriptしか書いてない状態ではないですよね?
お礼
Javaのアドレスが色々いじったままになっていました。 <script language="JavaScript" src="jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> というように直しても表示はされませんでした。
補足
Muller3さん、おはようございます。 フィードのURL http://自分のアドレス/jsRSS3_15/jsRSS.cgi/(?url=?http://dailynews.yahoo.co.jp/fc/rss.xml?) を追加したらMuller3さんの言うとおり document.write(' ・ニ・鵐ラ・・シ・ネ・ユ・。・、・・ャ、「、熙゛、サ、・/div>', ''); とい文字化けしたものが表示されました。 news.htmlの中身は、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head>ニュース</head> <body> <script language="JavaScript" src="url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> </body> </html> となっております。
- Muller3
- ベストアンサー率81% (800/979)
あら、ちょっと待ってください。うっかりしてました。 >jsRSS.cgiがpublic_html/jsRSS3_15/に入っていますので、 libディレクトリをpublic_html/jsRSS3_15/に作成して、その中にJcode.pmとJcodeディレクトリをアップして下さい。 で、 use lib './lib'; と指定してみて下さい。 (多分、Jcodeは0.88でないと動かないと思います) これでも動かなければ、#6に書きましたが、CGIへ直接アクセスして様子を見て下さい。
お礼
すみません、書き込んだら何か変な数値が入っていたみたいです。 正しくは <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head>ニュース</head> <body> <script language="JavaScript" src="jsRSS3_15/jsRSS.cgi?url=http://dailynews.yahoo.co.jp/fc/rss.xml"></script> </body> </html> です。
補足
Muller3さんの言われたとおり public_html/jsRSS3_15/内にJcode.pmとJcodeディレクトリをアップしまして、 jsRSS.cgiをuse lib './lib';に変更。 直接jsRSS.cgiを読みに行きましたが同じ document.write(' RSSのurlを指定してください ', ''); と同じエラーが出てしまいます。 このエラーというのは RSSのURLが見つからないから、表示するページにかけませんよ。 という事なのでしょうか?
- Muller3
- ベストアンサー率81% (800/979)
Jcode-0.88は、public_html下にlibディレクトリを作成し、その中にJcode.pmとJcodeディレクトリをアップすればOKだと思います。 表示させるページ(javascriptを書いているページ)は、public_html直下にあるんですよね? CGIに直接アクセスするとどうでしょうか? http://ドメイン/jsRSS3_15/jsRSS.cgi サーバーエラーが出る場合はCGIの設置に問題があるということでしょうし、 document.write(' RSSのurlを指定してください ', ''); と言う表示が出ればCGIの設置はうまくいってますので、javascriptの問題かもしれません。
補足
お忙しい週末に早いレスありがとうございます。 Muller3さんのおかげであともう一歩のところまで、これてるようです。 jsRSS.cgiにアクセスしたところ、 document.write(' RSSのurlを指定してください ', ''); とでますのでCGIの設置はいいようです。 Muller3さんの言ってるjavascriptの問題のようですので、 src=以降を色々変えてみたのですが何も表示はされません。 一応ディレクトリ構造は /public_html │-----RSSを表示させるページ(news.html) │-----lib(705) │ │-----Jcode(705) │ │-----Jcode.pm(705) │-----jsRSS3_15(705) │-----feed(705) │-----tenp(600) │-----jsRSS.cgi(705) エディタはサクラエディタ、FTPソフトはFFFTPを使っています。
- Muller3
- ベストアンサー率81% (800/979)
一行目は #!/usr/bin/perl になってますよね? use lib './public_html/lib'; の先頭の#(コメントアウト)は取りましたか? これでもだめなら、もしかしたらJcode.pm自体が問題なのかも。 Jcode-2.06じゃなくて、 http://search.cpan.org/~dankogai/Jcode-0.88/ こっちからJcode-0.88を入れてみて下さい。
補足
Muller3さん、返事が遅くなって申し訳ありません。 もう1度確認してみましたが jsRSS.cgiの1行目 #!/usr/bin/perl 12行目の use lib './public_html/lib';は #をとってコメントアウトしてあります。 念のためJcodeを1回削除してから再度Jcode-0.88を UPロードをしてみましたが表示されませんでした。 UPロードの仕方はJcode-0.88をDLして フォルダ名をlibに変更して/public_html/にUPロードであってますでしょうか?
- 1
- 2
お礼
Muller3さん、こんばんは。 わざわざ他のRSSリーダーを探していただき、 ありがとうございます。 あれから何個かのHPスペースを取得して試してみましたが 無料HPスペースと相性が悪いのか私のスキルが足りない事もあり、 同じ所でつまづき表示させる事が出来ませんでした。 EUCで表示できるmoondakotaさんの物が相性がいいようなので、 こちらを使う事にしました。 Muller3さんの貴重なお時間を私のために使っていただいても、 表示させる事が出来なくて申し訳ありません。 放置されてもおかしくない位お手間かけたにもかかわらず、 親身になってアドバイスをいただきありがとうございました。