سؤال

مرحبا ، هل يمكن لأي شخص مساعدتي في وضع علامة مرساة في الصفحة الرئيسية للنشر المخصصة.في الواقع أريد فتح صفحة موقع عند النقر على علامة الربط هذه ، ستكون صفحة الموقع هذه في مجموعة مواقع المستوى الأعلى ضمن معرض "الصفحات".حاولت وضع مرساة وعلى انقر فوق الحدث المستخدمة" أوبنفورمورلس 1 () " وظيفة ليتم استدعاؤها والتي يتم تعريفها في كتلة البرنامج النصي في نفس الصفحة الرئيسية كما :

<script type="text/javascript>" 
SP.SOD.executeOrDelayUntilScriptLoaded(OpenNewFormUrls1, 'SP.js');
function OpenNewFormUrls1() {
    var context= SP.ClientContext.get_current();
        var site=context.get_site();
context.executeQueryAsync(Function.createDelegate(this,this.onSuccess), Function.createDelegate(this, this.onFailure));
        context.load(site);
        var serverRelativeURL=site.get_serverRelativeUrl();
        ULS18u: ; 
        var options = { width: 500, height: 500 };
SP.UI.ModalDialog.commonModalDialogOpen(serverRelativeURL + "/Pages/openNew.aspx", options, null, null); 
    }
    function onSuccess(sender, args) {
        }
        function onFailure(sender, args) {
        }
</script>

بعد هذه التغييرات أخطاء جافا سكريبت تبدأ في الظهور ، وعلى أول نقرة في علامة مرساة لا الحوار نموذج فتح ، في حين 2 وبعد ذلك انقر على علامة مرساة فتح الحوار نموذج مع الصفحة ، وهذا يحدث لكل زيارة الموقع الجديد داخل مجموعة الموقع.رسالة الخطأ التي أتلقاها هي كما يلي :Message: The property or field has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested. URI: http://sp2010/_layouts/sp.runtime.debug.js?rev=f2An00kVlALdMLzcBc1cug%3D%3D يمكن لأي شخص مساعدتي كيف يمكنني تحقيق ذلك ?وما أنا في عداد المفقودين هنا ?يرجى المساعدة.

هل كانت مفيدة؟

المحلول

لما تحاول تحقيقه ، لا تحتاج إلى استخدام نموذج كائن العميل.من التعليمات البرمجية أعلاه ، يمكنك استخدام نموذج كائن العميل فقط لجلب عنوان موقع الجذر.ولكن هذا موجود بالفعل في صفحة شير في شكل متغير جافا سكريبت.انظر: http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=9

أيضا ، لاحظت أنك تستخدم executeOrDelayUntilScriptLoaded وظيفة.هذه الوظيفة سوف تنفذ الخاص بك OpenNewFormUrls1 وظيفة على كل تحميل الصفحة.ليس فقط عند النقر فوق علامة المرساة.لمتطلباتك الحالية ، وأنا لا أعتقد أنك بحاجة إلى هذه الوظيفة كما كنت لا تحتاج حقا إلى استخدام نموذج كائن العميل جس.

لذا بالنظر إلى كل الأشياء ، يجب أن تكون كتلة البرنامج النصي مثل هذا:

<script type="text/javascript>" 

function OpenNewFormUrls1() {

var options = {
        url: _spPageContextInfo.siteServerRelativeUrl + "/Pages/openNew.aspx",
        width: 500,
        height: 500,
        title: "My Page",
    };
    SP.UI.ModalDialog.showModalDialog(options);
 }
</script>

ومن ثم استدعاء OpenNewFormUrls1 وظيفة على أونكليك من علامة مرساة الخاص بك.

نأمل أن يساعد هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top