如何在Sharepoint 2013客户端对象模型中使用javascript getPeerUrl()函数?
我想用这个函数 从英文url获取法文url(我不能简单地将en更改为fr,反之亦然) 但是我的功能有问题。它似乎给了我如何在Sharepoint 2013客户端对象模型中使用javascript getPeerUrl()函数?,javascript,sharepoint,sharepoint-2013,sharepoint-clientobject,Javascript,Sharepoint,Sharepoint 2013,Sharepoint Clientobject,我想用这个函数 从英文url获取法文url(我不能简单地将en更改为fr,反之亦然) 但是我的功能有问题。它似乎给了我0,而不是实际的url 这是我的密码 function VariationHandler2() { var ctx = SP.ClientContext.get_current(); var site = ctx.get_site(); var rootWeb = site.get_rootWeb(); var webProperties =
0
,而不是实际的url
这是我的密码
function VariationHandler2() {
var ctx = SP.ClientContext.get_current();
var site = ctx.get_site();
var rootWeb = site.get_rootWeb();
var webProperties = rootWeb.get_allProperties();
ctx.load(site);
ctx.load(rootWeb);
ctx.load(webProperties);
ctx.executeQueryAsync(
function() {
var varLabelsListId = webProperties.get_item('_VarLabelsListId');
var labelsList = rootWeb.get_lists().getById(varLabelsListId);
var labelItems = labelsList.getItems(SP.CamlQuery.createAllItemsQuery());
ctx.load(labelItems);
ctx.executeQueryAsync(
function() {
var url = rootWeb.get_serverRelativeUrl();
var object = SP.Publishing.Variations.getPeerUrl(ctx, "/en/Pages/default.aspx", "fr");
alert(object);
alert(object.get_value());
alert(JSON.stringify(object));
},
function() {
}
);
},
function() {
}
);
}
但我没有得到任何有用的结果。有人知道如何让它工作吗
谢谢我在一个带有变体的站点的发布页面上向内容编辑器添加了以下代码,它起到了作用:
<script src="/_layouts/15/sp.publishing.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
ExecuteOrDelayUntilScriptLoaded(VariationHandler, "sp.js");
});
function VariationHandler() {
ExecuteOrDelayUntilScriptLoaded(VariationHandler2, "SP.publishing.js");
}
function VariationHandler2() {
var ctx = SP.ClientContext.get_current();
var object = SP.Publishing.Variations.getPeerUrl(ctx, "/en/Pages/default.aspx", "fr");
ctx.executeQueryAsync(
function() {
alert(object.get_value());
}
);
}
</script>
$(文档).ready(函数(){
ExecuteOrderLayUntilScriptLoaded(VariationHandler,“sp.js”);
});
函数VariationHandler(){
ExecuteOrderLayUntillScriptLoaded(VariationHandler2,“SP.publishing.js”);
}
函数变量handler2(){
var ctx=SP.ClientContext.get_current();
var object=SP.Publishing.Variations.getPeerUrl(ctx,“/en/Pages/default.aspx”,“fr”);
ctx.executeQueryAsync(
函数(){
警报(object.get_value());
}
);
}
是的,我在这里的帖子中找到了解决方案