علامة مرساة في الصفحة الرئيسية شير
سؤال
مرحبا ، هل يمكن لأي شخص مساعدتي في وضع علامة مرساة في الصفحة الرئيسية للنشر المخصصة.في الواقع أريد فتح صفحة موقع عند النقر على علامة الربط هذه ، ستكون صفحة الموقع هذه في مجموعة مواقع المستوى الأعلى ضمن معرض "الصفحات".حاولت وضع مرساة وعلى انقر فوق الحدث المستخدمة" أوبنفورمورلس 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
وظيفة على أونكليك من علامة مرساة الخاص بك.
نأمل أن يساعد هذا.