سؤال

واني اسعى الى الحصول على التعامل مع استخدام تجزئات URL في مسج للسيطرة على التاريخ في اياكس وجعل الروابط / صفحات كتاب markable. لقد حاولت تقريبا كل المكونات في هناك، وأنا غير قادر على الحصول على ما يبدو أي للعمل بشكل صحيح، لذلك أنا لا أميل لها أي أمثلة التعليمات البرمجية حقا. ولكن انا منفتح على أي اقتراحات والمعلومات، والبرامج التعليمية، وما إلى ذلك.

والفرق على إحدى الصفحات أحاول أن تدمج هذه إلى أن لدي هذا النبأ الصفحة مسج الرسوم المتحركة مدفوعة / تحميل، والذي هو أيضا نفس الصفحة التي سيتم تحميل كل من المحتوى إلى.

و.. وعلى هذا الرابط، أريد على تخطي كل دفقة / تحميل الرسوم المتحركة وتحميل مباشر على محتوى استنادا إلى قيم التجزئة / سلسلة (في هذه الحالة، #home).

ولقد كان يحاول هذا الرقم واحد لفترة من الوقت، أي مساعدة هي موضع تقدير، وذلك بفضل!

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

المحلول

وماذا في ذلك هل تواجه مشاكل مع؟ وضع علامة تجزئة أو التعامل مع التغيير من البعثرة؟

وبطبيعة الحال وضع التجزئة هو مجرد مسألة وضع التجزئة في الروابط، على سبيل المثال <a href="www.voidsync.com/2010/#page">Link</a> لكن انا التخمين وهذا ليس مشكلتك.

لتفعل شيئا في الواقع مع تجزئة، يجب أن يكون لديك وظيفة المستمع أن يتحقق على سبيل المثال كل 100MS تغيرت التجزئة ويتصرف وفقا لذلك. وثمة وظيفة بسيطة يمكن أن تذهب من هذا القبيل:

$(function() {
    var current_hash = false;
    setInterval(function() {
        if(window.location.hash != current_hash) {
            current_hash = window.location.hash;
            $('#content').load("content.php?page="+current_hash);
        }        
    }, 100);    
});

وهذا من شأنه أن (غير مجربة) وظيفة تحقق كل 100MS إذا تم تغيير التجزئة، وإذا كان لديه، ثم بتحديث الصفحة عن طريق أياكس.

ويعمل هذه الوظيفة أيضا على تحميل الصفحة، حتى إذا أراضي المستخدم على الصفحة مع وصلة مثل www.voidsync.com/2010/#images، سيتم تحميل تلقائيا وظيفة صفحة "الصور". من التاريخ وارتباطك الأعمال.

وعلى أمل أن يساعد، فقط أسأل إذا كنت تعني شيئا آخر.

نصائح أخرى

والقائم قبالة الجواب تاتو، وأنا مجرد تغيير بعض الأشياء لجعل هذا العمل بالنسبة لي. إنها تحافظ على التاريخ، حتى يعود وأزرار أمامية العمل الجيد. وهنا ما لدي،

$(function() {
var current_hash = false;
setInterval(function() {
    if(window.location.hash != current_hash) {
        current_hash = window.location.hash;
            if(current_hash=='#home'){
                var month = '9';
                var year ='2011';       
                $.ajax({
                    type: "POST",
                    url: "/home.php",
                    data: "data+here",
                    success: function(msg){
                        $('#div').html(msg);
                    }       
                });                     
            }
            else if(current_hash=='#edit'){
                $.ajax({
                    type: "POST",
                    url: "/edit.php",
                    data: "data+here",
                    success: function(msg){
                        $('#div').html(msg);
                    }       
                });             
            }
    }        
}, 100);

وبعد ذلك ببساطة تعيين بعض التجزئة على الروابط الخاصية href؛

                    <li><a href="#home">Home Page</a></li>
                <li><a href="#edit">Edit Page</a></li>

وانها ليست إعادة كتابة كاملة، واضاف عادل أساسا بعض إذا كانت تصريحات لنفس الشيء، لكنها قد تساعد شخص ما.

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