سؤال

أقوم باستخراج المحتوى الذي حدده المستخدم عبر هذه الوظيفة:

 function getSelectionHTML() {

  var userSelection;
  if (window.getSelection)
  {

   // W3C Ranges
   userSelection = document.getElementById('axPage').contentWindow.getSelection();
   // Get the range:
   if (userSelection.getRangeAt)
    var range = userSelection.getRangeAt (0);
   else
   {
    var range = document.createRange ();
     range.setStart (userSelection.anchorNode, userSelection.anchorOffset);
     range.setEnd (userSelection.focusNode, userSelection.focusOffset);
   }

   var clonedSelection = range.cloneContents ();
   var div = document.createElement ('div');
   div.appendChild (clonedSelection);
   return div.innerHTML;

  }
  else if (document.selection)
  {
userSelection = self.frames['axPage'].document.selection.createRange();
   return userSelection.htmlText;
  }
  else
  {

   return '';

  }

  };

يعمل الاستخراج بشكل جيد، ولكن لا يبدو أنني أجد طريقة للحصول على العلامة الأصلية للنص المحدد في Internet Explorer.هل هناك أي طريقة للحصول على DocumentFragment كما هو الحال في Firefox؟أعرف اختلاف التعامل والنهج في كلا النظامين، ولكن ربما وجد شخص ما أسلوب عمل في javascript/ECMA للتخلص من الإضافات السيئة ...jQueryXXXXXXXXXXXX="12" في HREFs وأسماء العلامات والسمات الكبيرة المؤلمة.

مرة أخرى:من الضروري تحديد العلامات الدقيقة.

هو موضع تقدير أي مساعدة، شكرا لك.

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

المحلول 2

شكرا لمساعدتكم، وأخيرا أحسب ذلك.إذا كنت تريد الحصول على نص محدد في Internet Explorer مع علامات مكتوبة بالأحرف الصغيرة، فجرّب ذلك http://codingforums.com/showthread.php?t=148450 وظيفة وإذا كنت تستخدم jquery ولديك القليل من .jQueryXXXXXXXXXXXXX="12" 13, 14 مباشرة بعد كل href=""-closing " فإن الحل الخاص بك هو نسخ الترميز الخاص بك إلى div وقراءة HTML الداخلي الخاص به.

امل ان يساعد

نصائح أخرى

خياراتك الوحيدة في IE هي كتابة التعليمات البرمجية للتنقل في DOM بين نقاط حدود التحديد أو استخدامها htmlText من التحديد TextRange كما تفعل.سيكون الخيار الأول متورطًا جدًا.لا أفهم حقًا ما هي مشكلتك مع النهج الثاني:هل يمكن أن تكون أكثر دقة أو تعطي مثالاً على الخطأ في HTML الذي تحصل عليه من htmlText؟

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