应用程序/ld+;json和javascript数据交换
我有一些jQuery代码,它构造了一个名为应用程序/ld+;json和javascript数据交换,javascript,jquery,json-ld,Javascript,Jquery,Json Ld,我有一些jQuery代码,它构造了一个名为myList[]的数组。此数组在控制台中显示如下:[“2项”、“3项”、“等等”],因此这部分运行良好 <script type="text/javascript"> var myList = []; function buld myList(){ ... } 。。 如何将值从javascript传递到应用程序/ld+json?提前谢谢 请尝试以下操作: <script id="myJSONID" type="application
myList[]
的数组。此数组在控制台中显示如下:[“2项”、“3项”、“等等”]
,因此这部分运行良好
<script type="text/javascript">
var myList = [];
function buld myList(){
...
}
。。
如何将值从javascript传递到应用程序/ld+json
?提前谢谢 请尝试以下操作:
<script id="myJSONID" type="application/ld+json"></script>
或:
var myList=[];
函数buildMyList(){
返回[“2项”、“3项”、“等”];
}
var el=document.createElement('script');
el.type='application/ld+json';
el.text=JSON.stringify({
“@context”:”http://schema.org/",
“@type”:“菜谱”,
“RecipeElement”:buildMyList()
});
document.querySelector('body').appendChild(el);
演示:
注意:请确保将
收件
更改为收件
,单数。(谢谢@AlexKudryashev)。很抱歉,这一条没有;也不行。这是谷歌的富卡片段。当我试图在他们的测试工具上运行测试时,它在“var”(var myList=[])处出错,谷歌认为这是一个语法错误……属性是recipeIngCredit
,它可以是文本或字符串数组。最后一个成功了!谢谢大家@伊斯梅尔:哦,你让我高兴极了!如果您真的想在页面上放置ld+json
标记,那么就在服务器端进行。谷歌不读取在客户端创建的maskup。@AlexKudryashev是谷歌检测客户端创建的标记:D@IsmailRBOUH你能给我一个校对链接吗?给你,还有。欢迎来到2016:D
<script id="myJSONID" type="application/ld+json"></script>
var myList = [];
function buildMyList() {
return ["2 items", "3items", "so on"];
}
$("#myJSONID").text(function() {
return JSON.stringify({
"@context": "http://schema.org/",
"@type": "Recipe",
"recipeIngredient": buildMyList()
});
});
<script type="text/javascript">
var myList = [];
function buildMyList() {
return ["2 items", "3items", "so on"];
}
var el = document.createElement('script');
el.type = 'application/ld+json';
el.text = JSON.stringify({
"@context": "http://schema.org/",
"@type": "Recipe",
"recipeIngredient": buildMyList()
});
document.querySelector('body').appendChild(el);
</script>