在php echo中打印javascript变量

在php echo中打印javascript变量,php,javascript,variables,Php,Javascript,Variables,澄清: 我的回音声明如下: $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="Pic

澄清:

我的回音声明如下:

 $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 ;
$striptitle.='-
!函数(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);}(文档,“脚本”,“twitter wjs”);”;
echo$striptitle;
onclick执行以下操作:

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

函数getnewurl()
{
var url=document.url;
警报(url);
}
我需要的基本上是添加我的锚标记a data url=“INSERT\u VAR\u url\u HERE”

可能吗

如果这还不够清楚,请告诉我 谢谢

编辑:为了澄清,函数中的警报仅用于测试。我需要的是能够在同一个$striptitle变量中使用函数中获得的变量


我的问题是,url随着AJAX的变化而变化,twitter按钮的数据url不会得到更新。我希望每次点击都能得到新的url。如果还有其他方法,我愿意接受建议

为什么不将其作为一个参数传递

$striptitle .= " - <a onclick=\"getnewurl('URL-HERE');\"...>";
$striptitle.=“-”;
然后在脚本中:

<script>
    function getnewurl(url) {
        alert(url);
    }
</script>

函数getnewurl(url){
警报(url);
}

基于@Kolink的答案,一种不在两个地方重复url的方法,您可以生成如下链接:

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

EDIT显然
jQuery.data
无法正确更新dom,但setAttribute确实更新了dom

我应该提到@Kolink,警报仅用于测试目的,正在消失。我是否仍然需要在函数中使用document.url设置变量url?那么我如何在data text=“variablehere”中传递它?将
作为参数传递,然后使用
getAttribute(“data text”)
获取其属性。我恐怕没有跟随;我对javascript的了解非常有限,我不知道“this”或getAttribute有什么作用:/我已经编辑了我的问题,也许这更好地解释了我的目的?我不完全确定你想要实现什么,为什么需要设置
数据url
属性?只是编辑了我的问题,如果不够清楚,请告诉我!您在编辑的第一部分中所描述的内容显然是不可能的——您希望使用一个JS变量,该变量只存在于客户端上,并且只有在php在服务器上运行的php中完成执行之后才存在。做你想做的事情需要一台时间机器。或者你可以在JS中更改数据url属性,但是
data-*
属性是特殊的。我建议使用jQuery来处理那里的问题。这正是我所担心的,谢谢你的澄清。这一切都是为了解决我的主要问题;人们使用AJAX远离原始url,因此tweet计数和url仍然共享原始url,而不是更新的url。有什么想法吗?谢谢,但我想这不是我的问题。我已经编辑了我的问题,以便进一步澄清!再次感谢您的更新,数据url似乎根本没有更新:/这整件事都是为了解决我的主要问题;人们使用AJAX远离原始url,因此tweet计数和url仍然共享原始url,而不是更新的url。有什么想法吗?这段代码应该能帮你解决这个问题,
数据url
将在DOM中更新。(虽然很明显,原来的html不会改变,但这并不重要)我不确定它是否有效——因为html没有改变,twitter弹出窗口中的结果似乎也没有改变。更新后的url会附加一些东西,我不知道是否会把事情搞砸?
function getnewurl(link) {
    link.setAttribute('data-url', location.href);
}