2017-06-16 13 views
0

私のModXウェブサイトには、ページの下にあるいくつかの記事の上部にいくつかのページジャンプリンクが含まれています。これは、彼らのそれぞれのHTMLです:ページをクリックした後にホームページにリダイレクトする

<a class="jump" href="#article1">Article 1</a><br /> 
<a class="jump" href="#article2">Article 2</a><br /> 

<!-- and so on... --> 

そして前に、リンクはので、私は訪問者がIEを使用して、ページを実行するかどうかを確認するために、ここではJavaScriptを使用しているIE 11に全く働いていませんでしたジャンプ:

これがIEのチェックに最適な方法かどうかはわかりませんが、今のところはうまくいくようです。

これはChromeとFirefoxでうまく動作しますが、IEのページジャンプの1つをクリックすると正しくジャンプしますが、2度目のパスを経ると自分のウェブサイトのホームページにリダイレクトされます。

私はModX Revolution 2.5.7を使用しています。

EDIT:Microsoft Edgeがホームページに直接リダイレクトしているようです。 EDIT 2:Edgeを正しくチェックするようにJSコードを更新しました。

+0

add evt.preventDefault() – Dayan

+0

私は先にそれを持っていましたが、何も影響しなかったため削除しました。私はもう一度試してみて、同じ結果を得ました。 – hRdCoder

+0

'onClick'関数の最後に' return false'を追加するとどうなりますか? – loelsonk

答えて

1

ページの下にあるいくつかの記事の上部にいくつかのページジャンプリンクが含まれているModX Webサイトのページがあります。

私はあなたが達成したいことをよく理解していません。訪問者が実際にそれらのリンクを開き、それらを読むことを望むなら、本当のリンクを挿入して、この基本的なhtmlのこと、つまりリンクのブラウジングをするのはなぜですか?

これらの記事が主要記事の下の二次コンテンツとしてページ全体(全部または一部)に既に存在していて、新しいタブを開いたり別のページを読み込んだりすることなく訪問者の注目を引くだけで<a href='#article1'></a>に加えて、<a name="#article1"></a>を使用して、現在のページで訪問者をスクロールする場所を指定します。

与えたコードにはいくつかの問題があります。

まず、IE/Edgeバージョンをチェックする方法です。このanswerで指摘されているように、「Trident」は今日のEdgeユーザーエージェントの文字列の一部ではありません。したがって、Edgeをターゲットにしたい場合は、条件がトリガーされません。

(url + href).toString()両方の変数はすでにタイプstringであるため、これは必要ありません。ちょうどurl + href

さらに、リンク上のクリックを処理する別のスクリプトがページにあるかのように感じます。私はそこに起こっていることを確認するためにあなたのページへのリンクが必要だと思います。だから、あなたがリンクを共有する気にしないならば、もっと深くチェックすることができます。

+0

Edgeをチェックできるようにするために加えた変更を反映するために自分の投稿を編集しました。また、あなたが言及した "toString()"呼び出しを削除する必要はありませんでした。それに加えて、リンク上のクリックを処理する別のスクリプトがページ上で実行されている可能性があると言ったときに正しいと分かりました。間違いなく、スクリプトを削除して、ここからリンクする前にスクリプトを実行できるようにしましたが、実際に問題の原因となっていました。 – hRdCoder

+0

聞いてよかったです:)そして、あなたはこれらすべてのもので達成したいと思った "ジャンプ"の効果はどうですか?あなたが意図したとおりに今働いていますか? – curveball

+0

IEとEdge(コードを修正した後)を含む各ブラウザで、今は完全に動作しています。ページ自体は非常に長く異なる記事があるため、ジャンプリンクをページの上部に配置する必要がありました。 – hRdCoder

2

おそらくevt.preventDefault()をクリック機能の中に入れますか?

+0

私は以前にそれを持っていましたが、何も影響しなかったので削除しました。私はもう一度試してみて、同じ結果を得ました。 – hRdCoder

+0

あなたは私の前のコメントを無視することができます。私が以下の@ curveballの答えを読んだ後、ページ上にこれが動作しないようにする別のスクリプトがありました。他のスクリプトを削除しましたが、今は完全に動作します。 – hRdCoder

関連する問題