1

明確にするために:

次のようなエコーステートメントがあります。

 $striptitle .= ' - <a onclick="getnewurl();" href="'.SGLink::album($aid). '">'. $namek .'</a></h1>
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-via="jb_thehot" data-text="Pictures of '. $hashfinal .'" teens>Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>';

echo $striptitle ;

onclick はこれを行います:

<script type="text/javascript">
function getnewurl()
{
var url = document.URL;
alert( url );
}
</script>

基本的に必要なのは、アンカータグに data-url="INSERT_VAR_URL_HERE" を追加することです

それは可能ですか?

これが十分に明確でない場合はお知らせください。ありがとうございます。

編集:明確にするために、関数のアラートはテスト専用です。必要なのは、同じ $striptitle 変数で、関数で取得した変数を使用できるようにすることです。

私の問題は、URL が AJAX で変更され、Twitter ボタンの data-url が更新されないことです。クリックするたびに新しいURLを取得して、新しいURLを取得できることを望んでいました。それを行う他の方法があれば、私は提案を受け入れます!

4

2 に答える 2

0

@Kolinkの回答に基づいて、次のようにリンクを生成できる2つの場所でURLを繰り返さない1つの方法を構築します。

<a onclick="getnewurl(this);" href="...">

次に、JS は次のようになります。

function getnewurl(link) {
    link.setAttribute('data-url', location.href);
}

EDITは明らかjQuery.dataに dom を適切に更新しませんが、setAttribute は更新します

于 2012-06-08T05:07:23.890 に答える
0

引数として渡さないのはなぜですか?

$striptitle .= " - <a onclick=\"getnewurl('URL-HERE');\"...>";

次に、スクリプトで:

<script>
    function getnewurl(url) {
        alert(url);
    }
</script>
于 2012-06-08T05:04:29.460 に答える