3

JavaScriptwindow.locationでは、リロードをトリガーせずに更新することはできません。私は原則としてこのポリシーに同意しますが(私のWebサイトにアクセスして、JavaScriptでロケーションバーを読み取りに変更するwww.yourbankingsite.comことはできません)、に変更できるはずです。www.foo.org/indexwww.foo.org/help

私がこれを気にする唯一の理由はブックマークのためです。私は写真ブラウザで作業しています。ユーザーが特定の画像をプレビューしているときに、そのページをブックマークする必要がある場合は、その画像をデフォルトにします。たとえば、表示foo.org/preview/images0-30しているときに画像#15をクリックすると、その画像は中サイズのビューに拡大されます。その後、ページをブックマークする場合は、ブックマークURLをにしたいと思いますfoo.org/preview/images0-30/active15

何か考えがありますか、それともこれにもセキュリティ上の障壁がありますか?ここで適用されているのと同じポリシーは確かに理解できますが、夢を見ることができます。

4

6 に答える 6

4

Really Simple Historyをチェックする必要があるようですね。これは、Google (Gmail など) が任意のページをブックマーク可能にする (そして履歴を持つ) 方法ですが、ページ全体を更新するわけではありません。

別の側面 (ユーザーがサイトにアクセスすると、正しい画像が自動的にポップアップ表示される) については、ページが読み込まれたら window.location.hashをチェックし、それに基づいてイベントを発生させてみます。

于 2009-04-01T17:30:48.123 に答える
1

ページをリロードせずに URL にアンカーを追加し、javascript で取得できます。

location.href = '.../#' + imageId;
于 2009-04-01T17:21:42.093 に答える
1

前述のように、一般的に ajaxy サイトでは、URL のハッシュ部分 ( window.location.hash) を操作/チェックして、この種のアクティビティを判断します。

最大の問題は、ユーザーが特定の画像をクリックしたかのように、DOM-ready/window-load でハッシュを確認することです。これはブラウザとブックマークで機能しますが、検索のインデックス作成を妨げる可能性があります。

于 2009-04-01T17:26:11.660 に答える
0

[Add to Favorites]   ページにボタンを追加でき   ます。

サンプル:

var urlAddress = "http://www.example.com/#image1";
var pageName = "Example Page Title - Image1";
function addToFavorites() {
    if (window.external) {
        window.external.AddFavorite(urlAddress, pageName); 
    } else {
        alert("Sorry! Your browser doesn't support this function."); 
    }
}

または、次のjQueryプラグインのいずれかを使用します。

AND / OR

最後にハッシュを含むURLを使用し、そのハッシュ値に基づいてコンテンツ(画像など)をロードします。

function onLoad() {
    if (window.location.hash == "image1") {
        // load image1
    }
}

URLハッシュイベントを操作するためのjQueryプラグインもたくさんあります。次に例を示します。

そのためのjQuery以外のJavaScriptライブラリもたくさんあります。次に例を示します。

于 2009-04-01T17:20:17.790 に答える
0

URLにハッシュが含まれているかどうかをページの読み込み時に検出し、含まれている場合は、移動先のページに誘導するのはどうでしょうか。

于 2009-04-01T17:20:46.197 に答える
0
<html>

<head>
<script type="text/javascript">
function myHref(){
    document.getElementById('myAnchor').innerHTML="Visit Google"
    document.getElementById('myAnchor').href="http://www.google.com"
}
</script>
</head>

<body>
    <a id="myAnchor" href="http://www.java2s.com">Visit Java2s</a>
    <form>
        <input type="button" onclick="myHref()" value="Change URL and text">
    </form>
</body>

</html>
于 2010-03-12T08:50:03.740 に答える