0

だから私は画像ギャラリー用のこのjsコードを持っています:

(this.settings.update_window_hash) {
        var thumb_link = this.images[this.current_index].thumb_link;
        if (thumb_link.attr("id")) {
          window.location.hash = "#image-"+ thumb_link.attr("id"); //#url
        } else {
          window.location.hash = "#image-"+ this.current_index;
        };
};

おそらくあなたが想定しているように、これはURLに$ image-(int)を追加します。したがって、複数の画像を含むギャラリーがある場合、3番目の画像が選択されていると、URLは次のようになります。mysite.com/ gallery.html#image-3

すべて良い。しかし、これがURLの最後に追加されるのは本当に好きではありません。それで、スクリプトのこの部分を完全に削除しても問題はありますか?したがって、現在選択されている画像の数に関係なく、URLは次のようになります:mysite.com/gallery.html

私はそれをテストしました、そしてそれは大丈夫です。しかし、私はjavascriptの経験があまりないので、間違いを犯していないことを確認したいと思います。それで 、このスクリプトを完全に削除しても大丈夫ですか?それは何か問題を引き起こしますか?

どうもありがとうございました。

4

3 に答える 3

1

URLの最後にあるハッシュはオプションであり、必須ではないため、はい、必要に応じてそのスクリプトを削除できます(削除することで、どのような問題を解決しようとしているのかわかりません)。一般に、使用しようとしている解決策ではなく、解決しようとしている問題を教えていただければ、より有用な回答が得られます。

ハッシュは、ページのURLで、閲覧者をそのページのサブコンテンツに誘導する場合に使用されます。それらを削除しても、ページは引き続き正常に機能しますが、ページのURLには、表示されている画像が反映されません。したがって、ビューアがそのURLを保存して戻ってきたり、URLにリンクしたり、URLへの参照を保持しているものにリンクしたりすると、特定の画像を表示するものではなく、ページの汎用バージョンに移動します。それが大丈夫かどうかは完全にあなたとあなたのページがどのように機能するか次第です。

于 2012-07-11T19:51:41.407 に答える
0

使用するだけです:

location.replace(location.href + "#myhash");

location.replaceメソッドは、ブラウザー履歴の現在のステップを上書きします。この動作の例については、http://prettydiff.com/slideshow/を参照してください。

于 2012-07-11T19:41:30.847 に答える
0

オクトソープの後のものは通常、Webページの「名前」または「ID」を表します。アンカータグ( )を設定すると、ブラウザはページ上の関連するセクションまでスクロールして <a name='thevalue'>、オクトソープ()の後のテキストを解釈します。http://example.com#thevalue

ページに異なる動作をする特別なJavaScriptがない限り。あなたの場合、それはあなたが書いているウェブページの全機能に依存します。スモークテスト/単体テスト/ユースケーステスト/その他のQEテストがある場合は、それらを実行して、変更によって何も破損しないことを確認する必要があります。

標準的な使用法の詳細については、http://www.w3schools.com/html/html_links.aspを参照してください。

于 2012-07-11T20:06:35.987 に答える