أضف إشارة مرجعية تمثل جافا سكريبت فقط، وليست عنوان URL

StackOverflow https://stackoverflow.com/questions/9104

سؤال

أعتقد أن السبب وراء عدم قدرتي على القيام بذلك هو أنه قد يكون هناك ثغرة أمنية كبيرة، ولكن هنا...

أرغب في الحصول على إشارة مرجعية على متصفحي (يفضل FF3) والتي تكون مجرد مقتطف من كود جافا سكريبت.سيتم فقط إنشاء عنوان URL استنادًا إلى التاريخ الحالي ثم إجراء window.location = على عنوان URL هذا.

أعلم أنه يمكنني إنشاء صفحة والاحتفاظ بها على جهازي المحلي والإشارة إليها بهذه الطريقة فقط، لكنني كنت أتساءل فقط عما إذا كان بإمكانك تجاوز هذه الخطوة ويكون "موقع" الإشارة المرجعية بالفعل مجرد جافا سكريبت.كان بإمكاني أن أقسم أن هذا كان ممكنًا منذ سنوات، لكني لا أستطيع العثور على أي شيء يخبرني بأي من الاتجاهين الآن.

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

المحلول

ما تريده هو أ bookmarklet فهي سهلة الإنشاء ويجب أن تعمل في معظم المتصفحات الرئيسية.

يحرر:يبدو أن تجاوز سعة المكدس لا يسمح بإنشاء إشارات مرجعية في سياق الموقع، ويمكنك بشكل أساسي إنشاء إشارة مرجعية جديدة وكتابة ما يلي في حقل الموقع

javascript:window.location='http://www.google.com/search?q='+Date()

للحصول على إشارة مرجعية تبحث في Google عن التاريخ الحالي.

نصائح أخرى

تجدر الإشارة إلى أنه يمكنك وضع ذلك في غلاف الوظيفة أيضًا.عمران مجيد أوضح لنا ذلك بشكل جيد ...ولكن يبدو أنني جديد جدًا على الموقع حتى لا أتمكن من رفع منصبه.:ص

لذلك من أجل الوضوح:

javascript:(function(){
  location.href = location.href + "#";
})();

(لم تؤثر إرجاعات النقل على الأداء في chrome وIE)

صيد بسيط واحد. أي لا يمكن التعامل إلا مع أ 508 عنوان URL للأحرف بهذا التنسيق.إذا قمت بحفظه في IE بعنوان URL أطول من هذا، فسيتم اقتطاعه دون سابق إنذار وبالتالي يفشل.

إذا كنت بحاجة إلى برنامج نصي معقد حقًا، فستحتاج إلى استخدام تطبيق مرجعي "مستضاف"، حيث يكون لديك إشارة مرجعية قصيرة تُدخل علامة برنامج نصي في الصفحة، من أجل "استدعاء" التطبيق المختصر المستضاف الخاص بك.

إنه ليس لطيفًا/محمولًا، ولكنه الحل الوحيد.

جوجل المرجعية

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();

حسنًا، لقد قمت للتو بإنشاء إشارة مرجعية في FF3، ورجعت وقمت بتحديثها وأضفت الاختبار التالي:

javascript:alert('Wacky%20test%20yo');

منخفض وها، بعد أن قمت بالحفظ والتحميل، تمكنت من الحصول على التنبيه الخاص بي.

أنا متأكد من أنه يمكنك عمل شيء مماثل لاحتياجاتك.

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