<script>
document.addEventListener('DOMContentLoaded', function() {
// Apply CSS to change the alt text style
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `
/* Ensure alt text is bold, underlined, and has conditional color */
.leaflet-marker-pane img[alt] {
font-weight: bold !important; /* Make text bold */
text-decoration: underline !important; /* Underline the text */
white-space: nowrap; /* Prevent the text from wrapping to a new line */
}
`;
document.head.appendChild(style);
// Give the page a moment to load and the images to be rendered
setTimeout(function() {
var images = document.querySelectorAll('.leaflet-marker-pane img');
images.forEach(function(img) {
var title = img.getAttribute('title');
if (title) {
title = title.length > 10 ? title.substring(0, 10) + '..' : title;
img.setAttribute('alt', title);
img.setAttribute('title', title);
if (title.includes('/')) {
img.style.color = 'white';
} else {
img.style.color = 'black';
}
}
img.setAttribute('src', '');
});
}, 1000); // Delay execution by 1 second (1000 ms)
});
</script>
إذا لم أكن مخطئًا، نظرًا لأن Discourse هو تطبيق ذو صفحة واحدة، أعتقد أنه سيتعين عليك استخدام api.onPageChange() الخاص بواجهة برمجة تطبيقات المكون الإضافي لهذا الغرض.
حسناً، إذا تم إيقاف JavaScript في الرؤوس قريباً، فسيتعين عليّ تكييف بعض الأشياء، ربما يمكن أن يحتوي حقل الرأس هذا على إشعار بخصوص هذا الوضع القادم.
أعتقد أن له أسبابه، ولكنه قد يكون مؤسفاً لأن النصوص البرمجية في الرؤوس مفيدة وتسمح بإجراء تعديلات سريعة للمسؤول مثل: إغلاق تسجيل الحدث عندما يتطابق عدد معين بواسطة دالة JavaScript لفئة معينة.
عذرًا، لقد أجبتك أنت بدلاً من جاي الذي يقول إن البرامج النصية سيتم إيقافها، أتخيل أنه يتحدث عن البرامج النصية للرأس التي يسهل استخدامها للتعديلات السريعة تمامًا مثل أي نظام إدارة محتوى للمواقع الإلكترونية.
لقد وجدت حلاً في الواقع يقوم بإعادة تحميل صفحة “الخريطة” فقط في كل مرة تنتقل إليها.
أتساءل الآن عما إذا كان هذا يستحق المشاركة مع الآخرين هنا إذا كانت نصوص الرأس ستصبح مهملة؟ النص في هذا المنشور يسمح بفئات ألوان وفقًا لمحتوى عنوان حدث على الخريطة، ويجب تغيير هذا بسرعة وليس عبر ميزة واجهة برمجة التطبيقات.
أعتقد أنك أسأت فهمي. كنت أعني أن علامات <script> في الرأس مثل <script type="text/discourse-plugin"> و <script type="text/x-handlebars"> تم إيقافها، وليس علامات <script> العادية.
نعم، شكراً لك على التوضيح، يسعدني أننا نستطيع وضع جافاسكريبت، ألقِ نظرة على الكود الذي تركته إذا كان لديك وقت فقد يكون لا يزال مفيداً في بيئات إمبر، فهو يعيد تحميل الصفحة حتى يتم تطبيق جافاسكريبت. إنه ليس الأجمل ولكنه يعمل بشكل جيد لصفحة إضافة الخريطة!