Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将当前帖子放到';Blogger中的URL_Javascript_Blogger - Fatal编程技术网

Javascript 将当前帖子放到';Blogger中的URL

Javascript 将当前帖子放到';Blogger中的URL,javascript,blogger,Javascript,Blogger,我想将当前帖子的URL放在每篇帖子的文本区域中,因此我在帖子编辑器(HTML模式)中键入了以下代码: var postrl=''; 文件。写(“”); 文件。书写(姿势); 文件。写(“”); 但出现的是 <data:post.url/> 它不会被post URL替换 布局HTML包含以下代码: <body expr:class='&quot;loading&quot; + data:blog.mobileClass'> 由于有许多自定义的

我想将当前帖子的URL放在每篇帖子的文本区域中,因此我在帖子编辑器(HTML模式)中键入了以下代码:


var postrl='';
文件。写(“”);
文件。书写(姿势);
文件。写(“”);
但出现的是

<data:post.url/>

它不会被post URL替换

布局HTML包含以下代码:

<body expr:class='&quot;loading&quot; + data:blog.mobileClass'>


由于有许多自定义的Facebook/Twitter小部件(“like”按钮等),我想一定有办法将data:post.url的值传递给target jscript,但我的谷歌搜索失败了。

你可以在你的帖子中添加以下内容:

<div id="mytextbox"></div>

然后编辑模板,将此代码放在
结束标记之前的底部

<script type='text/javascript'>
var d=document;
var mydiv = d.getElementById(&quot;mytextbox&quot;);
if (mydiv!=null)
{
mydiv.innerHTML = mydiv.innerHTML + &quot;<textarea>&quot;+&quot;<data:blog.url/>&quot;+&quot;</textarea>&quot;;
}
</script>

var d=文件;
var mydiv=d.getElementById(“mytextbox”);
if(mydiv!=null)
{
mydiv.innerHTML=mydiv.innerHTML++;
}

Blogger布局代码实际上返回当前页面的URL,而不是博客的URL。

显然,它只是将“data:post.URL”视为一个字符串,因为它被引号包围,这样做有效吗

<script type='text/javascript'>
  document.write('<textarea>' + data:post.url + '</textarea>');
</script>

编写(“”+数据:post.url+“”);

使用下面的检查脚本,这对我很有用

<script type='text/javascript'>
     var postUrl = '<data:post.url/>';
     document.write("<div class="fb-like" data-href='" + postUrl + "' data-layout="standard" data-action="recommend" data-show-faces="true" data-share="true"></div>");
</script>

var postrl='';
文件。填写(“”);

它会相应地给出每篇文章的链接。

你真的不需要javascript来做这件事。您只需要使用expr:value指定一个值,如下所示:

<input type="text" expr:value='data:blog.url'/>
    <input type="text" expr:value='data:blog.url' style='height:30px; width:100px;' />

然后,您可以使用以下内联样式以任意方式设置其样式:

<input type="text" expr:value='data:blog.url'/>
    <input type="text" expr:value='data:blog.url' style='height:30px; width:100px;' />

为了确保链接位于正确的位置,必须仔细检查博客页面的元素,并将代码粘贴到所需的位置


希望这能有所帮助。

这段代码在小部件中不起作用。.blogger API主要在默认模板上工作…你把它放在模板中了吗?不,我计划在每篇文章中都放上脚本。在此之前,我尝试了document.write(document.url);但是document.url只是博客的url。据我所知,它在帖子中不起作用…blogger标记只在模板中起作用,而不是在帖子/小部件中。谢谢但数据:blog.url只提供博客url,而不是每个帖子的url。我在我的博客中尝试了代码,它返回了博客帖子url。有关Blogger布局元素的更多信息,请阅读以下内容:“url:当前页面的url.”,“homepageUrl:博客的主页”。如果单击文章标题,则url会发生更改,文本区域会显示正确的(特定于文章的)url。然后使用数据:blog.url和document.write(document.url)是一样的?是的,看起来是这样。如果您想将帖子的URL放在主页中,那么您应该使用data:post.URL,但您可能需要在模板中找到循环通过postsCan的代码片段(更具体一点?:)这对输出没有任何影响。