【问题标题】:How to use the javascript getPeerUrl() function in Sharepoint 2013 client object model?如何在 Sharepoint 2013 客户端对象模型中使用 javascript getPeerUrl() 函数?
【发布时间】:2015-07-03 14:02:20
【问题描述】:

我想使用这个功能 https://msdn.microsoft.com/en-us/library/office/jj954403.aspx 从英文网址获取法文网址(我不能简单地将 en 更改为 fr,反之亦然)。

但我在使用该功能时遇到了问题。它似乎给了我0 而不是实际的网址。

这是我的代码

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() {
        }
    );  
}

但我没有得到任何有用的结果。有谁知道如何让它工作?

谢谢

【问题讨论】:

    标签: javascript sharepoint sharepoint-2013 sharepoint-clientobject


    【解决方案1】:

    我将以下代码添加到具有变体的网站的发布页面上的内容编辑器中,并且它起作用了:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    相关资源
    最近更新 更多