0

ブラウザでテキストファイルを開こうとしています。ローカルマシンから実行すると完全に機能しますが、ファイルをWebサーバーにアップロードすると、テキストファイルへのリンクが機能しなくなり、リンク切れエラーが発生します。ブラウザ。

txtファイルを開くための私のコードは次のとおりです。

<div style="width: 100%; background-color: #CCC;text-align: center;">
<a href="code.txt" onclick="window.open(this.href,this.target,'height=300, width=500');return false;">Code</a>
</div>
4

2 に答える 2

0

リンクをクリックして新しいウィンドウを開くには、javascriptのwindow.openメソッドを使用する必要があります。

<a href="javascript: void(0)" 
onclick="window.open('popup.txt', 
'windowname1', 
'width=200, height=77'); 
 return false;">Click here for txt</a>
于 2012-08-29T09:38:34.533 に答える
0

相対URL(完全なURL、つまり、のようなプロトコルで始まるURLhttp://でも、サイトのルートを示すもので始まるURLでもない/)は、URLの最後/のURLに相対的です。これは、<a href="code.txt">Code</a>onを持っている場合、http://www.example.com/dir/page.htmlそれpage.htmlが削除code.txtされて追加され、につながることを意味しますhttp://www.example.com/dir/code.txt。ファイルがWebサーバーのその場所にアップロードされていない場合、code.txtファイルは見つかりません。

code.txtサーバー上でライブですか?つまり、サーバー上のテキストファイルに手動で移動できますか?

PHPファイルがと同じディレクトリにあることを確認しますcode.txtか?

@BugFinderが言及したような大文字小文字(大文字/小文字)の問題はありますか?

JavaScriptポップアップなしで動作しますか?あなたの質問からはJSの問題のようには聞こえませんが、@ Sathishがポップアップの動作に修正があると思ったので(私には問題ないように見えます)、その変数を削除して、プレーンリンクが機能するかどうかを確認する価値があります。

サーバーにアクセス許可の問題や制限があり、ファイルが表示されないようになっていますか?さらに言えば、あなたが受け取っている正確なエラーコードとメッセージは何ですか?404?他に何かありますか?

これまでの話から、ファイルが実際にアップロードされていないことを推測する傾向があります。あるいは、あなたが言ったことにもかかわらず、それは実際にはあなたのPHPファイルと同じディレクトリにはありません。これらの問題のどちらでもない場合は、質問を詳細に更新してください。


FTPに従ってファイルが存在する場合、いくつかの可能性があります。

  1. ファイルはサーバー上にありますが、思った場所にはありません。たとえば、多くのWebホストには、Webにアクセスできないプライベートルートディレクトリがあり、その中には、Webサイトの実際のルートであるpublic_html/またはディレクトリがあります。www/過去に他のファイルをあなたのウェブサイトにアップロードすることができましたか?PHPファイルが正常に利用できるように思われるので、txtファイルが同じ場所にあると仮定すると、これは問題ではありません。
  2. Webサイトは、.txtファイルをブラウザに提供できるように設定されていません。txtファイルをアップロードして表示できましたか、それともこの問題が発生した最初のファイルですか?試してみるために、ファイルの名前をに変更code.htmlして同じ場所にアップロードするとどうなりますか?

記録として、これはStackOverflowを使用するよりも、ホストに提示する(または単にホストのドキュメント/サポートを調べる)方がはるかに優れた質問である可能性があります。これはプログラミングの質問ではなく、ホスティングの問題です。私たちはあなたのホストが誰であるか、またすべての個々のホスティングプロバイダーの複雑さを知らないので、何が悪いのかを診断するのは難しいです。

于 2012-08-29T09:49:00.330 に答える