带有javascript和php的弹出窗口

带有javascript和php的弹出窗口,php,javascript,popup,Php,Javascript,Popup,我想通过php打开一个链接,但需要一些javascript资源,否则我知道这是不可能的 我已经有了以下代码或函数: <script language='JavaScript'> function open(URL) { var width = 150; var height = 250; var left = 99; var top = 99;

我想通过php打开一个链接,但需要一些javascript资源,否则我知道这是不可能的

我已经有了以下代码或函数:

<script language='JavaScript'>
        function open(URL) {

            var width = 150;
            var height = 250;

            var left = 99;
            var top = 99;

            window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');

        }
    </script>

函数打开(URL){
var宽度=150;
var高度=250;
左向量=99;
var-top=99;
打开(URL,'janela','width='+width+',height='+height+',top='+top+',left='+left+',滚动条=是,状态=否,工具栏=否,位置=否,目录=否,菜单栏=否,可调整大小=否,全屏=否');
}
在php中,我有这样一个功能,可以很好地工作:

$inf=' | <a href="javascript:abrir(\'http://google.pt\');">+i</a>';
$inf='|';
但是,我不想使用静态url,而是想使用一个php变量,如下所示:

$inf=' | <a href="javascript:abrir(\'$VARIABLE');">+i</a>';
$inf='|';
当然不起作用,我不知道如何将变量嵌入url,有什么帮助吗

谢谢,代码是:

$inf=' | <a href="javascript:abrir(\''.$variable.'\');">+i</a>';
$inf='|';

如果变量来自某个外部源(如url,…),请确保它不能用于代码注入(因此应使用htmlspecialchars,…)

要让$variable起作用,必须对字符串加双引号,并用“\”转义内部双引号,这样它就不会关闭字符串:

$inf=" | <a href=\"javascript:abrir('$VARIABLE');\">+i</a>";
$inf=“|”;
也可以使用串联:

$inf=' | <a href="javascript:abrir(\''.$VARIABLE.'\');">+i</a>';
$inf='|';

刚刚发现了一些不同的东西,可能会有所帮助=)

我和帕斯捷宾没有任何关系


如果要将php变量传递到JavaScript函数中,可以这样做:

$inf=' | <a href="javascript:abrir(\''.$VARIABLE.'\');">+i</a>';
$inf='|';
您可能会注意到用于标记php字符串的单引号以及用于标记JavaScript字符串上的JavaScript函数的转义单引号(
\'

$inf=' | <a href="javascript:abrir(\''.$VARIABLE.'\');">+i</a>';
$inf='|';

$inf=“|”;

工作非常完美,感谢您的解释和示例。您的意思是他应该将该函数(open())绑定到特定的类或Id吗?
哦,对了,我没有意识到这不是一个onclick,只是复制粘贴了它,因为通常我在页面加载时通过jQuery绑定事件,但我认为他的javascript知识是最低限度的,这将是一个巨大的解释:我喜欢你需要宣布你与你交叉链接的网站没有联系。然而,我认为这在很大程度上是不必要的。如果您与某个网站有关联,可能会在那时宣布,并让我们假定您不在其他情况下。:)
$inf=" | <a href=\"javascript:abrir('$VARIABLE');\">+i</a>";