2

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

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

但出现的是

<data:post.url/>

它不会被帖子 URL 取代。

布局 HTML 包含以下代码:

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

由于有许多自定义 Facebook/Twitter 小部件(“喜欢”按钮等)可用,我认为必须有某种方法将data:post.url的值传递给目标 jscript,但我的谷歌搜索失败了。

4

4 回答 4

2

你可以把这个放在你的帖子中:

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

然后通过将此代码放在</body>结束标记之前的底部来编辑您的模板。

<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>

Blogger 布局代码<data:blog.url/>实际上返回的是当前页面的 URL,而不是博客的 URL。

于 2013-03-17T10:30:35.663 回答
0

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

<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>

它相应地给出每个帖子的链接。

于 2015-03-28T18:27:47.030 回答
0

显然它只是将 'data:post.url' 视为一个字符串,因为它被引号包围,这行得通吗?

<script type='text/javascript'>
  document.write('<textarea>' + data:post.url + '</textarea>');
</script>
于 2013-03-18T00:33:03.833 回答
0

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

<input type="text" expr:value='data:blog.url'/>

然后,您可以使用这样的内联样式来设置您想要的样式:

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

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

希望有帮助。

于 2019-01-19T19:22:43.863 回答