私が達成したいと思っているのは、特定の場所のファイルがない場合はリンクを非表示にし、ある場合はリンクを表示することです。
私はここにこのhtmlを持っています:
<p>[[C1:event_location]]
<br />[[C1:event_location_city]], [[C1:event_location_state]], [[C1:event_location_country]]
<br /><a href="[[C1:map_link]]">Google Map</a>
| <a href="../documents/2018Maps/ROUTE_MAP_[[E130:"[[E130:"[[E130:"[[E130:"[[C1:event_title]]" ". " " " replaceall]]" "/" " " replaceall]]" "." "" replaceall]]" "/" " " replaceall]].pdf" target="_blank">Route Map</a>
| <a href="../documents/2018Maps/ROUTE_MAP_1K_[[E130:"[[E130:"[[E130:"[[E130:"[[C1:event_title]]" ". " " " replaceall]]" "/" " " replaceall]]" "." "" replaceall]]" "/" " " replaceall]].pdf" target="_blank">1km Route Map</a>
| <a href="../documents/2018Maps/ROUTE_MAP_5K_[[E130:"[[E130:"[[E130:"[[E130:"[[C1:event_title]]" ". " " " replaceall]]" "/" " " replaceall]]" "." "" replaceall]]" "/" " " replaceall]].pdf" target="_blank">5km Route Map</a>
</p>
何ここで起こっていることはあなたがそこに見て独自のカスタムタグ使用LuminateプラットフォームですE130
とC1:event_title
確認することをhref
pdfファイル名のFTPフォルダにリンクされていることRoute_map_またはRoute_map_1k_またはRoute_map_5k_と場所の名前で終わりで始まります。PDFファイルがあり、リンクをクリックするとPDFファイルが読み込まれますが、その名前のファイルがない場合は、見つからないページが読み込まれます。
例:
私は自分のウェブサイトにいて、アボッツフォードの場所を見ています。ftpフォルダーにROUTE_MAP_1K_Abbotsford.pdfというファイルがありますが、ROUTE_MAP_5K_Abbotsford.pdfというファイルはありません。
1kのリンクをクリックすると、PDFファイルが読み込まれます。5kのリンクをクリックすると、PDFファイルが存在しないため、見つからないページが読み込まれます。したがって、「5kmルートマップ」ファイルが存在しないため、その要素を非表示にする必要があります。
私が可能だと思っているのは、ファイルが存在するかどうかをチェックするJS / jQueryの方法があり、それがリンクを非表示にしないことです。
編集私はいくつかの答えを見た後、私が質問を間違って言ったことに気づきました。つまりexamplewebsite.com/documents/2018Maps/ROUTE_MAP_5K_Abbotsford.pdf
、ファイルが実際には存在しない場合でも、ブラウザに表示される5kmのルートマップリンクにマウスを合わせると、LuminateコードがそのURLをレンダリングするため、リンクをクリックすると表示されます。にexamplewebsite.com/site/PageServer?pagename=page_not_found_Run
移動します(サイトをナビゲートできますが、実サーバー404エラーは発生しません)。ファイルが実際に存在するかどうかを確認する方法はありますか?それでもリンクが非表示になりませんか?
お時間をいただきありがとうございます!
以下はPDFのすべてをajaxするので少し遅いと思いますが、クライアント側からしか解決できないようで、404で本当に失敗/エラーが必要なだけなので、うまくいきます:
$("a[href^='pdf']").each(function() {
var $currentLink = $(this);
$.ajax($currentLink.attr("href")).fail(function(jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 404 || errorThrown == 'Not Found') {
$currentLink.remove();
}
});
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加