أواجه العديد من المشاكل في تشغيل الإعلانات على موقع Discourse في https://howtodiscuss.com.
- أخطاء كثيرة من نوع DOM Exception لم يتم التقاطها، فقط انتقل إلى أي صفحة موضوع في وضع التصفح المتخفي وستراها https://howtodiscuss.com/t/profit/7022
-
والخطأ الآخر هو أنه عند التنقل إلى موضوع جديد من صفحة موضوع قديمة، أرى تحذيرًا في وحدة التحكم، حيث يتم عرض إعلان Google Vignette، ولكن بسبب هذا التحذير يختفي الإعلان ويتم التنقل بالصفحة، وبالتالي لا يتمكن المستخدم أبدًا من النقر على إعلانات Google Vignette البينية التي تظهر بين تحميل/تنقل الصفحات.
إشعار بعدم التوصية: إزالة جميع مستمعي الأحداث دفعة واحدة غير موصى به، يرجى إزالة كل مستمع على حدة. How many ounces is a 1 4 cup - How To Discuss
- أحاول أيضًا عرض إعلان Google ثابت ملتصق في الشريط الجانبي الأيمن لصفحة الموضوع الواحد، باستخدام هذا الكود:
كود JavaScript لإدراج إعلان ثابت ملتصق في الشريط الجانبي للموضوع، نحتاج لجعله يعمل مع جدول المحتويات (ToC) أيضًا
<!-- plugin code to show fixed ad-->
<script type = "text/discourse-plugin"
version = "0.8" >
var friends_retries = 0;
var friends_timeout;
api.decorateWidget('topic-timeline-container:before', helper => {
return helper.h('div.side-block', [
helper.rawHtml('<div id="friends"></div>'),
]);
});
api.onPageChange(() => {
if (window.location.href.indexOf("/t/") > -1) {
console.log('page changed - topic');
friends_retries = 0;
window.setTimeout(loadFriends, 100);
} else {
//console.log( 'page changed - not topic');
}
});
function loadFriends() {
if (!document.getElementById('friends')) {
//var timer;
friends_retries++;
if (friends_retries < 10) {
//console.log('timeout rescheduled, try ' + friends_retries);
window.setTimeout(loadFriends, 100);
} else {
clearTimeout(friends_timeout);
// window.clearTimeout(loadFriends);
console.log('timeout cleared, gave up');
// loadFriends();
}
} else {
var bHTML = ' <!-- Topic side bar timeline HTD --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7087907313091932" data-ad-slot="5067761793" data-ad-format="auto" data-full-width-responsive="true"></ins>';
// var bHTML = '<img src="https://via.placeholder.com/300x250?text=300x250+MPU" alt="Girl in a jacket">';
$("#friends").html(bHTML);
}
}
</script>
<!-- plugin code to show fixed ad-->
وهنا كود CSS الخاص به:
/*for fixed ad*/
/* timeline layout fix 2.6.0.beta5 */
@media screen and (min-width: 925px) {
.container.posts .topic-navigation {
margin-left: 7em;
}
}
#friends {
display:block;
//width:300px;
height:150px;
margin-left:-90px;
margin-top:-25px;
margin-bottom:90px;
}
/*for fixed ad*/
في بعض الأحيان يعمل هذا الكود، لكنه لا يعمل على الصفحة التي يظهر فيها جدول المحتويات (ToC)، على سبيل المثال لا يعمل على How Many Grams In A Quarter Ounce? - How To Discuss
هل يمكن لأحد تصحيح خطئي في الكود بحيث يعمل أيضًا على صفحات جدول المحتويات (ToC)؟
-
لاحظت أيضًا خطأ آخر في كودي وفي كود إضافة الإعلانات العامة لـ Discourse، فعند التنقل من صفحة إلى أخرى، لا يتم تحديث كود إعلان AdSense الخاص بي أبدًا ولا يتم إعادة تحميله، وبالتالي لا يتم تفعيل أي انطباع إعلاني. ربما لأن Discourse لا يعيد تحميل الصفحة بالكامل عند التنقل. أريد أن يتم تحديث الإعلانات وإعادة تحميل الصفحة بالكامل من أي تنقل عبر الروابط، كيف يمكنني إصلاح ذلك؟
-
أحصل أيضًا على العديد من أخطاء frame-src هذه على موقعي، https://howtodiscuss.com/t/how-mouthwash-rinse-become-a-necessary-step-in-oral-hygiene/30631
Refused to frame 'https://pagead2.googlesyndication.com/' because it violates the following Content Security Policy directive: "frame-src cm.g.doubleclick.net googleads.g.doubleclick.net www.google.com accounts.google.com pagead2.googlesyndication.com/pagead/s/cookie_push.html gmsg: https://tpc.googlesyndication.com/sadbundle/$csp=er3$/1522577804659956528/index.html".
هذا هو شكل إعدادات سياسة أمان المحتوى (CSP) الخاصة بي:
لكنني لا أعرف كيفية إضافة عناوين iframe الخاصة بإعلانات Google إلى القائمة البيضاء؟ لقد جربت أيضًا هذا الكود، لكنه لا يعمل بشكل جيد، ولا أزال أرى أخطاء frame-src المذكورة أعلاه،
إذا أضفت قيمًا بجانب frame-src في الوسم meta، فسيظهر لي خطأ مفاده أننا لا يمكننا استخدام frame-src في وسم meta.
<!--<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; frame-src ; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />-->
سيكون ذلك مساعدة كبيرة إذا تمكن أحد من مساعدتي في حل مشاكلي،
أحصل حتى على مثل هذه الأخطاء على صفحتي الرئيسية، https://howtodiscuss.com/ (لإعادة إنتاج الأخطاء، افتح الصفحة في وضع التصفح المتخفي، أو استخدم شبكة افتراضية خاصة (VPN)، أو ببساطة قم بالتحديث عدة مرات أو انتقل إلى صفحات أخرى، وستجد الأخطاء في وحدة تحكم JavaScript، وستشاهد أيضًا اختفاء Google Vignette دون منح المستخدم فرصة للنقر على الإعلان)
آمل أن يتمكن أحد من المساعدة.
موقعي مستضاف على Cloudflare، وأنا أحدث إصدار من Discourse وهو 2.6.0.beta6، لقد قمت بتحديث كل شيء بما في ذلك جميع الإضافات، وقمت أيضًا بإعادة بناء Docker للتو. ومع ذلك، لا أزال أرى هذه الأخطاء.


















