0

内部イントラネットには、内部アプリケーション内からリンクされたいくつかの埋め込みヘルプファイルがあります。ユーザーがアプリケーションに固有の内部ヘルプファイルのみを使用しているかどうか、または内部wiki、フォーラム、ニュースレターなどの他のリソース、あるいは外部ソースにアクセスしているかどうかを判断しようとしています。

onbeforeunloadを使用してdocument.location.hrefを返そうとしましたが、必要に応じて機能しません。たとえば、ユーザーがinternalhelp.company.com/page1.htmlにいて、ページを離れてinternalwiki.company.com/wikipage1.phpに移動した場合、onbeforeunloadはinternalhelp.company.comを返します。internalwiki.company.comを返すために必要です。

どんな助けでも大歓迎です。

ありがとう。

4

4 に答える 4

3

プライバシー上の理由から、これは完全に不可能です。

ハイパーリンクのみに関心がある場合は、すべての<a>タグにクリックハンドラーを追加して、リンクがクリックされたことを通知するAJAXリクエストを送信できます(またはサーバー側のインタースティシャルページを使用します)。

于 2011-02-06T13:25:56.643 に答える
2

私の知る限り、これはJavaScriptだけでは不可能です。セキュリティ上の理由から、JavaScriptはサンドボックス化されています。この場合、JavaScriptはスクリプトがロードされたページに限定されています。ブラウザ拡張機能、またはページスコープ外に存在する他のものを使用する必要があります。

于 2011-02-06T13:26:11.037 に答える
0

ヘルプ サイトの管理/コンテンツ コントロールがある場合、情報を取得する 1 つの方法は、ユーザーのクリックをログアウトできる独自の URL で外部リンクをラップすることです。

たとえば、Facebook のほとんど/すべての外部リンクは次の形式です。

http://www.facebook.com/l.php?u={actual URL}

このようにして、Facebook はアウトクリックをログに記録できます。

ヘルプ サイトのリンクにアクセスできない場合は、行き詰まってしまいます (プライバシー上の理由から、設計上 -- そうしないと、ユーザーが何をしてどこに行くのかを追跡する JavaScript を誰でも記述できてしまう可能性があります)。

于 2011-02-06T14:06:20.033 に答える
0

各ページの読み込み時に JavaScript を使用して Cookie を設定できます。次に、それらが閉じられたら、window.unload関数を呼び出すことができます。この関数では、そのページの Cookie を削除できます。その後、Cookie がなくなると、ユーザーはブラウザからサイトを終了します。実装できないの?

于 2012-06-25T07:33:30.807 に答える