将URL查询字符串传递给Javascript函数

将URL查询字符串传递给Javascript函数,javascript,php,Javascript,Php,我试图将一个查询字符串从URL传递给Javascript函数,但我所做的一切似乎都不起作用。我正在使用PHP生成Javascript代码 如果我有以下URL: www.testing.com/?test=5 我希望函数输出以下代码: "googletag.pubads().setTargeting("test","5");', 'close');" 我尝试使用echo$\u GET[“test”]添加PHP代码,但它没有显示值,而是显示$\u GET[“test”]。我甚至尝试在Javascr

我试图将一个查询字符串从URL传递给Javascript函数,但我所做的一切似乎都不起作用。我正在使用PHP生成Javascript代码

如果我有以下URL:

www.testing.com/?test=5

我希望函数输出以下代码:

"googletag.pubads().setTargeting("test","5");', 'close');"
我尝试使用
echo$\u GET[“test”]
添加PHP代码,但它没有显示值,而是显示
$\u GET[“test”]
。我甚至尝试在Javascript中创建一个自定义函数来提取URL查询字符串,当我尝试显示它时,它只输出变量名,而不输出值本身。有没有人知道我做错了什么,并且知道如何解决这个问题

功能如下:

function google_admanager_dfp_add_js($js = NULL, $type = 'slot') {
    static $ga_js = array();

    // add the js to a type
    if (isset($js) && isset($type)) {
        $ga_js[$type][] = $js;

        //add the init and service scripts the first time this is run
        if (!isset($ga_js['service'])) {

            if (variable_get('google_admanager_dfp_useasync', FALSE)) {
                google_admanager_dfp_add_js("var googletag = googletag || {};googletag.cmd = googletag.cmd || [];", 'service');
                google_admanager_dfp_add_js("(function() {var gads = document.createElement('script');gads.async = true;gads.type = 'text/javascript';var useSSL = 'https:' == document.location.protocol;gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js';var node = document.getElementsByTagName('script')[0];node.parentNode.insertBefore(gads, node);})();", 'service');

                google_admanager_dfp_add_js("googletag.cmd.push(function() {", 'pre');
                google_admanager_dfp_add_js("googletag.enableServices(); });", 'close');

            } else {
                google_admanager_dfp_add_js('(function() {var useSSL = \'https:\' == document.location.protocol;var src = (useSSL ? \'https:\' : \'http:\') +\'//www.googletagservices.com/tag/js/gpt.js\';document.write(\'<scr\' + \'ipt src="\' + src + \'"></scr\' + \'ipt>\');})();', 'service');

                // set the close script to fetch the ads.

                if (isset($_GET["test"])) {

                    // Line in question is below ->
                    google_admanager_dfp_add_js('googletag.pubads().setTargeting("test","");', 'close');
                }
                google_admanager_dfp_add_js('googletag.pubads().enableSyncRendering();googletag.enableServices();', 'close');
            }

        }
        return;
    }
function google\u admanager\u dfp\u add\u js($js=NULL,$type='slot'){
静态$ga_js=array();
//将js添加到类型中
if(isset($js)和isset($type)){
$ga_js[$type][]=$js;
//第一次运行时添加init和服务脚本
如果(!isset($ga_js['service'])){
if(变量_get('google_admanager_dfp_useasync',FALSE)){
google_admanager_dfp_add_js(“var googletag=googletag | | |{};googletag.cmd=googletag.cmd | |[];”,“服务”);
google_admanager_dfp_add_js(“(function(){var gads=document.createElement('script');gads.async=true;gads.type='text/javascript';var useSSL='https:'==document.location.protocol;gads.src=(usesl?'https:':'http:')+'//www.googletagservices.com/tag/js/gpt.js';var node=document.getElementsByTagName('script')[0];node.parentNode.insertBefore(gads,node);})(;“,'service');
google_admanager_dfp_add_js(“googletag.cmd.push(function(){,'pre');
google_admanager_dfp_add_js(“googletag.enableServices();}”),“close”);
}否则{
google\u admanager\u dfp\u add\u js('(function(){var usesssl=\'https:\'==document.location.protocol;var src=(usesl?\'https:\':\'http:\')+\'//www.googletagservices.com/tag/js/gpt.js\';document.write(\'\'););','service');
//设置关闭脚本以获取广告。
如果(isset($_GET[“test”])){
//有问题的行在下面->
google_admanager_dfp_add_js('googletag.pubads().setTargeting(“test”,”);','close');
}
google_admanager_dfp_add_js('googletag.pubads().enableSyncRendering();googletag.enableServices();','close');
}
}
返回;
}

您可以使用location.search获取配对,如下所示:

var query = window.location.search.substring(1);
var pair = query.split("=");

// ...
// Line in question is below ->
google_admanager_dfp_add_js('googletag.pubads().setTargeting('+pair[0]+','+pair[1]+');', 'close');
对[0]
将是
测试
对[1]
将是
5

帮助我在一个简单的.js文件中完成您想要的任务


这要归功于创建它的Mathias Bank。

当我添加代码时,我得到了以下错误:解析错误:语法错误,此行意外出现“[”:google_admanager_dfp_add_js('googletag.pubads().setTargeting('+pair[0]+','+pair[1]+');','close'));嗯……我希望用纯javascript或PHP来实现这一点,这样我就不必再拥有另一个js库或文件。。。