![](/img/trans.png)
[英]How to get php variable from url (href link) in javaScript and generate a small popup window on mouseover with passed php data
[英]how to pass a php variable in a href link with javascript window open
下面的代码可以调用JS窗口。
<?
$facebookID = "ID";
$parameters = array(
'app_id' => 'app_ID',
'to' => $facebookID,
'link' => 'link',
'redirect_uri' => 'my_url'
);
$url = 'http://www.facebook.com/dialog/send?'.http_build_query($parameters);
echo '<script type="text/javascript">window.open('.json_encode($url).');</script>';
?>
上面的代码...它会打开一个窗口,其中包含facebook send dailog
但是我该如何在链接中实现此功能,以仅在使用特定的Facebook ID单击时调用此窗口...
我使用多个faceboook ID构建页面,如下所示:
<?
// CODE ABOVE.....
while($row = $stmt->fetch())
{
$facebookID = $row['facebookID'];
$parameters = array(
'app_id' => 'app_ID',
'to' => $facebookID,
'link' => 'link',
'redirect_uri' => 'my_url'
);
$url = 'http://www.facebook.com/dialog/send?'.http_build_query($parameters);
?>
<a href="#">ON CLICK CALL the JavaScript for this specefic Facebook User</a>
<?
}
?>
我的href =“ .....”应该是什么? 我尝试了以下操作,但是没有用...我想这是由于window.open中的php变量导致的...
<a href="javascript: void(0)" onclick="window.open('.json_encode($url).');" </a>
谢谢
尝试这个:
echo '<a href="#" onclick="window.open(' . json_encode($url) . '); return false;">ON CLICK CALL the JavaScript for this specefic Facebook User</a>';
您不能在window.open内部使用属性中带有双引号的json编码,因为json_encode会在代码中添加双引号。
(请注意,属性onclick与window.open中的双引号“发生冲突”)
如果将单引号转换为双引号,则可以使用json_encode正常工作。
$url = 'http://test.com';
echo "<a href='javascript: void(0)' onclick='window.open(" . json_encode($url) . ");'>Test</a>";
(因为json编码将添加双引号,并且您的属性具有单引号。)
另一种方法 (我建议)是删除json_encode并将单引号放在您的php中。
$url = 'http://test.com';
echo '<a href="javascript: void(0)" onclick="window.open(' . '\'' . $url . '\'' . ');">Test</a>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.