Javascript 打印带有变量的url

Javascript 打印带有变量的url,javascript,Javascript,TLDR 我想打印这个 <link rel="canonical" href="http://nyc.mymusicwebsite.com/coolband/1222 "/> (URL拆分为。) 我有这个代码到目前为止,几乎是工作,这是问题 document.write('<link rel=cononical"'+" ""href="http:"//"""+termsText+"."+deliurl2[1]+deliUrl[2]'"/>'); 虽然只有一篇文章在网站

TLDR

我想打印这个

<link rel="canonical" href="http://nyc.mymusicwebsite.com/coolband/1222
"/>
(URL拆分为。) 我有这个代码到目前为止,几乎是工作,这是问题

document.write('<link rel=cononical"'+" ""href="http:"//"""+termsText+"."+deliurl2[1]+deliUrl[2]'"/>');
虽然只有一篇文章在网站上可见,但其他文章正在被索引

上面的帖子都标记在一个div中,带有它们被分配的区域,并且在网站上可见

我想打印google rel圆锥链接,链接到conincal帖子。这篇文章的子域将与div中的pages标记相同

除了打印url,我什么都做了

考虑以下代码

    //find tag in page for pattern match
    var termsText = $("#terms").find("ul li:last").text(); 

    //get window location url to test agains pattern
    var deliUrl=window.location.href


    //test pattern
    var patt1=new RegExp(termsText);


    //split url at first period to isolate everything after the subdomain
    var deliUrl2=deliUrl.split('.');


    //if pattern is NOT in url print google conical tag pointing to propper subdomain
    if (patt1.test(deliUrl));

    {
        //print subdomain as "terms" and rest of url
        document.write('<link rel=cononical"'+" ""href="+termsText+"."+deliurl2[1]+deliUrl[2]'"/>');

}
//在页面中查找用于模式匹配的标记
var termsText=$(“#术语”).find(“ul li:last”).text();
//获取窗口位置url以测试agains模式
var deliUrl=window.location.href
//测试模式
var patt1=新的RegExp(termsText);
//在第一个时段分割url以隔离子域之后的所有内容
var deliUrl2=deliUrl.split('.');
//若模式不在url中,则打印指向propper子域的google锥形标记
如果(第1部分测试(deliUrl));
{
//将子域打印为“术语”和url的其余部分
文件。写(“”);
}
看这把小提琴-

我用了你的硬编码值。您的文档中有许多错误。write方法。Javascript区分大小写,因此您必须确保内容匹配。小心你的报价。你可以在js中使用多行,就像我做的那样,以一种感性的方式分解事情。我将第一个
更改为code>,因为它无法显示输出

但我仍然不认为这会奏效。我怀疑搜索引擎正在读取js修改的头部信息。祝你好运。一定要查看robots.txt文件。你基本上可以说不要索引这些页面。这会影响SEO,因为它们根本不会成为索引,但这听起来像是你想要的

var termsText = 'nyc';
var deliurl = 'http://nyc.mymagazine.com/coolband/122';
var part1 = 'mymagazine';
var part2 = '.com/coolband/122';

document.write(
    '>link rel="canonical" href="http://' +
    termsText +
    '.' +
    part1 +
    part2 +
    '" />'             
);

你能解释一下你为什么要这么做吗?我觉得你错过了森林,但却错过了树。我们有3个程序员在做这件事。这是一个快速修复,现在我们只希望一个子域(在帖子内容中有匹配标记的那个)被索引。这是委托给我的。我只需要关于我的文档语法的帮助。write()语句我对javascript不熟悉,语法是一个弱点。我不认为动态地将规范标记写入文档会被搜索引擎发现。我认为您需要在服务器端修复它,或者只使用robots阻止对额外站点的索引。txtI还应该补充一点,依赖canonical是不可靠的。它本质上是由搜索引擎决定是否依赖您的规范标签。他们可以使用,但不能。他们可以使用一个你不想要的页面作为规范。robots.txt没有实现的原因是因为这是一个博客,每天都会创建新内容,而且每篇文章都有这个问题。过去也有成千上万的帖子重复。如果有一个类似的方法来自动化所有过去和未来的文章,这将是伟大的。我明白了。是的,那会很痛苦。我也感到没有选择的痛苦。尽管我对规范进行了抨击,但在营销人员不肯让步后,我还是在工作中实施了它。它导致了一些问题,但至少我没有遇到麻烦=)可维护性是个问题-
    //find tag in page for pattern match
    var termsText = $("#terms").find("ul li:last").text(); 

    //get window location url to test agains pattern
    var deliUrl=window.location.href


    //test pattern
    var patt1=new RegExp(termsText);


    //split url at first period to isolate everything after the subdomain
    var deliUrl2=deliUrl.split('.');


    //if pattern is NOT in url print google conical tag pointing to propper subdomain
    if (patt1.test(deliUrl));

    {
        //print subdomain as "terms" and rest of url
        document.write('<link rel=cononical"'+" ""href="+termsText+"."+deliurl2[1]+deliUrl[2]'"/>');

}
var termsText = 'nyc';
var deliurl = 'http://nyc.mymagazine.com/coolband/122';
var part1 = 'mymagazine';
var part2 = '.com/coolband/122';

document.write(
    '>link rel="canonical" href="http://' +
    termsText +
    '.' +
    part1 +
    part2 +
    '" />'             
);