popup window.open href 在 HTML 中工作,但需要正确的 PHP 语法


popup window.open href works in html but need proper syntax for PHP

我遇到了无法解决的情况。我无法让弹出窗口在我的 php 页面中正常工作 - 但是在 html 制作的表格中弹出窗口的相同 href - 有效 - 带有动态 href 的弹出窗口链接 - 效果很好。所以我想包含的函数是可以的。 那么这里就不用引用函数了。它会在 html 中打开弹出窗口,没有任何问题,父页面保持应有的状态。

这是 html 表中的整个 A

<A class=black href="<?php if (isset($_GET['art_id'])) { $id = intval($_GET['art_id']); } mysql_query("SET CHARACTER SET utf8"); $query=mysql_query("SELECT art_id FROM table WHERE art_id = '" . mysql_real_escape_string($id) . "' ") or die("err"); while($row=mysql_fetch_array($query)) { echo "ab.php?art_id=$row[art_id]"; } ?>" onclick="NewWindow(this.href,'rank','450','230','no','center');return false" onfocus="this.blur()" settings>GO</A></div>

但是,当将相同的动态 href 放入 php 生成的表中*并应用相同的函数时,我得到双重加载。弹出窗口加载所有正常,但父页面也会加载弹出窗口的内容。

这是 php 生成的表的完整 A

echo "<a href='ab.php?art_id=$row[art_id]' onclick=NewWindow(this.href,'rank','450','230','no','center') return=false onfocus=this.blur()>".'GO'."</a>";

这个在弹出窗口中完全打开,但也在主父窗口中加载 ab.php。我用目标:_blank,_child,试图输入实际的网址等......尝试使用不同的'''新窗口...设置。。。无。现在我知道这与 '''NewWindow 等有关,这个 href 在 php 中引用,但我似乎找不到任何合理的解释如何做到这一点;弹出窗口的每个解释都是针对没有 echo 的基于 HTML 的解释,没有已经引用的行。我知道这一切都被弃用了,还有其他方法可以做到这一点 - 但我必须为我的项目这样做。请问有人可以帮我吗?

你必须在

输出的属性周围放置星群。您可以使用'",并且可以使用'转义它们。

问题是您将 return=false 写为自己的 ht l 属性,但它是 onclick 的一部分。(它告诉浏览器不要在主窗口中打开 url)

echo '<a href="ab.php?art_id='.$row['art_id'].'" onclick="NewWindow(this.href,''rank'',''450'',''230'',''no'',''center''); return false;" onfocus="this.blur();">GO</a>';

请不要像上面的工作示例那样在一行中编写所有PHP代码。没有人愿意阅读这个,这是一个常见的错误的地方。使用函数和变量!

这已经完成了技巧。 正确使用'' ...语法。

echo "<a href=ab.php?art_id=$row[art_id] onclick='"NewWindow(this.href,'rank','450','230','no','center');return false'" onfocus='"this.blur()'" settings>"."GO"."</a>";