2011-10-25 34 views
0

もし私が<a href="JavaScript:article('40')">What is the difference between Archiving and Trashing an Article? </a>のようなURLを持っていれば、hrefの値をどのように保存できますか?これはajaxアプリケーションで使用されるので、ユーザーがブラウザのアドレスバーでクリックすると実際にこのURLが表示されないことに注意してください。 hrefの値を取得すると、ブラウザに配置して、ユーザーがクリックしたときと同じ結果を実行できるはずです。リンクタグの値を格納する方法

+0

jquery?.......... –

+0

「記事」機能とは何ですか - コードを投稿できますか?それはURLを返しますか?問題のページでJavaScript:article('40 ')をブラウザに挿入した場合、どうなりますか? – ima007

+0

idが40のDBから記事を引き出すのですが、URLが変更されないようにajaxで処理されます。 –

答えて

0

ないあなたが望むことを確認...ここ

はHOWTOはhref属性を取得し、JavaScriptを実行している:

<a id="link" href="JavaScript:article('40')">Text</a> 

eval(document.getElementById('link').href); 

か、番号「40」を取得し、それを保存したいですサーバー? (これにはajaxを使用してください)

+0

これは私がすべてのリンクにIDを与えなければならないということですか?または、ユーザーがクリックした後にこの機能を実行できますか?ユーザーがクリックした後にhref値を保存するスクリプトを作成するにはどうすればよいですか? –

+1

この目的は、History APIで使用するために関数を最後に呼び出したままにすることです。したがって、ユーザーが状態objでヒットすると、最後の関数が呼び出されます。 –

+0

このテキストで始める必要があります! – PiTheNumber

0

あなたはリンク上にIDを持っていないので、実際には同様の<a>要素と区別することはできません。

一つだけ<a>の要素があることがわかっている場合 - あなたはhref値を得ることができ、あなたは(私は例として、コンソールにそれを印刷)してくださいとしてそれを行う:

var aEl = document.getElementsByTagName('a'); 
console.log(aEl[0].href); 

注意していますgetElementsByTagNameは、要素の配列を返します(またはNodeListですが、この目的のために残しておきます)。また、OperaとSafari(IIRC)でのサポートはiffyです。

代わりに(そして好ましくは) - 可能な場合は、あなたの<a>要素にIDを追加します。

<a id='someID' href="JavaScript:article('40')">What is the difference between Archiving and Trashing an Article? </a> 

をして取得するには、次を使用しhref

var aEl = document.getElementById('someID'); 
console.log(aEl.href); 

EDIT

いくつかの考えの後 - あなたの意図が値を維持することだった場合には関数が返された場合は、<a>要素の中から関数の呼び出しを調べ、DOMレンダリング中/後に呼び出して結果を保持し、同じhref属性を使用して<a>要素に挿入することを検討する必要があります。

そうしないと、私はここで言及していないような日陰の技法に頼ることになります(AFAIK)。

+0

これは、関数を最後に呼び出してHistory APIで使用するためのものです。したがって、ユーザーが状態objでヒットすると、最後の関数が呼び出されます。 –

関連する問題