我有一个javascript和php代码,使机器人很难找到一个电子邮件地址。我已经在一个非常基本的网站上实现了它并且它的工作非常完美,但是在另一个网站上有更多的元素 - 有些东西似乎出错并且它不会工作。
javascript会添加mailto:
和@
函数
在php中,调用元素并运行javascript以在单击它时完成该功能 - 使其像普通的mailto:function一样。
是否存在我可能缺少的DOM或全局元素或什么东西?
我正在调用这个脚本 的header.php:<script type="text/javascript" src="javascript/scripts.js"></script>
scripts.js中:
function blind(name,domain) {
str = "mailto:" + name + "@" + domain;
window.location = str;
}
emailgen.php:
function showContacts()
{
global $debe;
$return ="";
$return .="
<div>";
$contactitems = $debe->runSql("SELECT * FROM contacts ORDER BY imp");
for($i=0; $i<count($contactitems); $i++)
{
$parts = explode('@', substr($contactitems[$i][3], $pos + 0));
$return .="
<p><a href=\"" . $contactitems[$i][2] . "\">" . $contactitems[$i][1] . "</a><br />
<a href=\"javascript:blind('" . $parts[0] . ",'" . $parts[1] . "')\">" . $parts[0] . "@" . $parts[1] . "</a><br />
</p>";
}
return $return;
}
当我查看源代码时,它似乎显示正常,但由于某些原因mailto:
没有调用。
emailgen.php的观察源:
<a href="javascript:blind('name,'email.com')">name@email.com</a><br />
答案 0 :(得分:3)
在$parts[0] . "
之后添加单引号:
<a href=\"javascript:blind('" . $parts[0] . "','" . $parts[1] . "')\">" . $parts[0] . "@" . $parts[1] . "</a><br />