Google ऐडसेंस से जावास्क्रिप्ट त्रुटियां


79

मेरी कई adsense चल रही साइटों पर, मुझे निम्नलिखित त्रुटियाँ मिल रही हैं:

[ Http: //] googleads.g.doubleclick.net पर संदेश पोस्ट करने में असमर्थ । प्राप्तकर्ता के पास http://www.anekdotz.com है

URL के साथ फ़्रेम एक्सेस करने का असुरक्षित जावास्क्रिप्ट प्रयास [URL : http: //] www.anekdotz.com/ फ्रेम के साथ URL [ http: //] googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9099580055602120&output= एचटीएमएल और ज = 250 और slotname = +९२१०१८१५९३ और w = 300 और फ्लैश = 10.0.42 और url = http% 3A% 2F% 2Fwww.anekdotz.com% 2F और dt = 1269901036429 और correlator = 1269901036438 और frm = 0 और ga_vid = ७१,१०,००,५८७.१२६९९०१०३७ और ga_sid = +१२६९९०१०३७ और ga_hid = 654,061,172 और ga_fc = 0 और u_tz = -240 और u_his = 2 & u_java = 1 & u_h = 900 और u_w = 1440 और u_ah = 878 और u_aw = 1436 & u_cd = 24 & u_nplug = 10 & u_nmime = 101 और BIW = 1365 & bih = 806 और ईद = 44,901,212 और फू = 0 और IFI = 1 & DTD = 153 और xpc = Xkfk1oufPQ एंड पी = http% 3A // www.anekdotz.comडोमेन्स, प्रोटोकॉल्स और पोर्ट्स मैच करना चाहिए।

(क्रोम जावास्क्रिप्ट कंसोल से)

विज्ञापन ठीक से दिखते हैं और यह मेरे मूल जावास्क्रिप्ट कोड को प्रभावित नहीं करता है। हालाँकि कभी-कभी ये त्रुटियां पृष्ठ लोडिंग को धीमा कर देती हैं। मैं इस समस्या को कैसे ठीक करुं?

(मैंने नया उपयोगकर्ता होने के कारण मुझे यह पोस्ट करने के लिए URL संशोधित किया)


क्या आपकी वेब साइट aekdotz.com है?
पेका

1
यहां भी यही समस्या। यह पोस्ट लगभग एक साल पहले की है! अगर इसकी एक Google समस्या है, तो यह कैसे है कि यह तय नहीं है !? यह साइट पर अन्य जेएस को भी मार रहा है। इसके अनुसार यह केवल लीडरबोर्ड विज्ञापनों से संबंधित प्रतीत होता है .. google.com/support/forum/p/AdSense/…
UpTheCreek

इस मुद्दे को Google adsense पर भेजें ....
Incognito

@ user257493 - adsense समूहों / सहायता पृष्ठों पर एक ही समस्या वाले लोगों के कई उदाहरण हैं, और मैंने किसी को भी फिक्स के साथ नहीं देखा है। अंत में मुद्दा प्रस्तुत करेंगे, लेकिन मुझे पता है कि इसमें एक उम्र लगती है।
UpTheCreek

3
Google मानचित्र iframes के साथ भी, हाँ Google नियमों को तोड़ सकता है। आशा है कि यह एसईओ रैंकिंग को बर्बाद नहीं करेगा ;-)
जैकब लोवे

जवाबों:


81

Google ने उनकी स्क्रिप्ट को गड़बड़ कर दिया है। इसके बारे में आप बहुत कुछ नहीं कर सकते।

किसी कारण से http://pagead2.googlesyndication.net/pagead/expansion_embed.js, AdSense स्क्रिप्ट द्वारा मूल पृष्ठ में शामिल <iframe>, नए HTML5 पोस्टमासेज सुविधा का उपयोग करके, विज्ञापन को होल्ड करने के लिए बनाए गए एक नव-लिखित में विज्ञापन के बारे में जानकारी भेजने की कोशिश कर रहा है :

            ha(this, function (f, e) {
                d[Pa](this.a[A]+"|"+f+":"+e, this.la)
            });

हाँ। वहाँ कुछ अच्छा छोटा / मोटे कोड। मेरा विश्वास करो, Paहै 'postMessage'!

targetOriginइस कॉल में तर्क, this.laपर सेट है http://googleads.g.doubleclick.net। हालाँकि, नए iframe को इसके srcसेट के साथ लिखा गया था about:blank। यह लक्ष्य उत्पत्ति से मेल नहीं खाता है, इसलिए ब्राउज़र को संदेश भेजने से इंकार करना चाहिए। हालाँकि, क्रोम इसके बारे में कंसोल लॉग के लिए एक वास्तविक चाबुक छोड़ने लगता है, हालांकि।

पता नहीं क्यों यह सब कर रहा है, कभी भी यह क्यों नहीं कि यह सिर्फ '*'एक लक्ष्य की उत्पत्ति के रूप में उपयोग नहीं कर रहा है ... मैं वास्तव में महसूस करने के लिए अस्पष्ट स्क्रिप्ट में वैडिंग जैसा महसूस नहीं कर रहा हूं। हालाँकि, इस त्रुटि के कारण पृष्ठ लोडिंग धीमा नहीं होनी चाहिए। यदि आप ठहराव देख रहे हैं तो यह आमतौर पर अन्य बाहरी लिपियों को हल करने और लाने में है।


अरे वहाँ, सिर के लिए धन्यवाद। हाँ, मुझे यकीन नहीं है कि यह वास्तव में पृष्ठ को धीमा कर रहा है, लेकिन यह पेज लोड होने के दौरान नीचे की ओर ब्राउज़र "लोडिंग पेज" अधिसूचना लाता है। यह कष्टप्रद है और कुछ उपयोगकर्ताओं को भी परेशान कर सकता है जो सोचते हैं कि उन्हें तब तक इंतजार करना चाहिए जब तक उनका ब्राउज़र बंद नहीं हो जाता। मुझे उम्मीद है कि वे जल्द ही इस बारे में कुछ करेंगे।
अर्जुन

4
मुझे यह त्रुटि भी हो रही है, विशेष रूप से कोई सुस्ती नहीं है, लेकिन मुझे एहसास हो रहा है कि यह अन्य जेएस बना रहा है काम करना बंद करने के लिए, जैसे कि एफबी एप्लिकेशन एकीकरण। मुझे आश्चर्य है कि यह कैसे होता है कि यह पहले से तय नहीं किया गया है।
मेस्कालिटो

मैं जोड़ सकता हूं: यह केवल मेरे लिए एक विशिष्ट क्रोम सत्र पर होता है जहां मेरे पास एक विज्ञापन अवरोधक स्थापित है। मैंने विशेष URL के लिए प्लगइन को अक्षम कर दिया है, फिर भी मूल त्रुटि संदेश चालू है। यदि एक ही साइट को गुप्त विंडो में खोलें, तो समस्या समाप्त हो जाती है।
एंड्रेस एसके

क्या यह उत्तर अभी भी 2018 में मान्य है?
InNameOfScience

15

Google एक ब्राउज़र क्विक का फायदा उठाने की कोशिश कर रहा है, जिसके द्वारा कुछ ब्राउज़र विंडोज के लिए समान-मूल नीति को अनदेखा करते हैं: URL के रूप में रिक्त, उस विंडो को XMLHttpRequest सबमिट करने की अनुमति देता है या, इस मामले में, किसी भी साइट पर पोस्टमासेज अनुरोध करता है।

जहाँ तक मुझे पता है, हाल ही में ब्राउज़र इस व्यवहार को अक्षम कर रहे हैं। आपके पास ऐसा एक पैच ब्राउज़र होना चाहिए।

उम्मीद है, यह टूटी कार्यक्षमता विज्ञापनों से पैसे कमाने की आपकी क्षमता को प्रभावित नहीं करती है।

यह आपकी साइट के लिए अपनी खुद की कोई गलती के माध्यम से जावास्क्रिप्ट त्रुटियों को उत्पन्न करने के लिए कष्टप्रद है, लेकिन यह एक संभावना है जिसे आपको स्वीकार करना चाहिए जब आप किसी और की जावास्क्रिप्ट को अपने पृष्ठ पर चलाते हैं।


"उस विंडो को सबमिट करने की अनुमति दे रहा है ... किसी भी साइट पर पोस्टमैसेज अनुरोध करता है" यह एक शोषण कैसे है? postMessageसमान मूल प्रतिबंधों के लिए खाते के बिना किसी भी दृश्य पर बुलाया जा सकता है।
एली ग्रे

1
यह उस तरह से कहा जा सकता है , निश्चित रूप से। लेकिन क्या संदेश स्वयं भेजा गया है या नहीं यह इस बात पर निर्भर करता है कि संदेश प्राप्त होने के समय लक्ष्य विंडो, दूसरे तर्क द्वारा वर्णित मूल है postMessage। ऐसा लगता है कि यहाँ ऐसा नहीं है। (जैसा कि क्यों यह एक शोषण हो सकता है, एमडीसी के हवाले से कहा जा सकता है: "यदि पोस्टमासेज का उपयोग पासवर्ड प्रसारित करने के लिए किया जाता है, तो यह बिल्कुल महत्वपूर्ण होगा कि यह तर्क एक यूआरआई हो, जिसका मूल पासवर्ड वाले संदेश के इच्छित रिसीवर के समान हो , दुर्भावनापूर्ण तृतीय पक्ष द्वारा पासवर्ड के अवरोधन को रोकने के लिए। ")
जेफ वाल्डेन

7

यह सामान्य है क्योंकि आपका ब्राउज़र अन्य वेबसाइटों से CSRF के हमलों को रोकता है।

googleads...अपनी वेबसाइट तक पहुंचने और इस समस्या को हल करने की अनुमति देने के लिए, crossdomain.xmlअपने वेबरूट में नामित फ़ाइल बनाएं और इसे निम्नलिखित सामग्री से भरें:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
  SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="googleads.g.doubleclick.net" />
</cross-domain-policy>

इसका परीक्षण करने के लिए, अपने डोमेन http://your-domain.com/crossdomain.xml पर जाएं और सुनिश्चित करें कि उस पृष्ठ के लिए कोई त्रुटि नहीं हैं। आपने वाइल्डकार्ड्स आदि का उपयोग करने की अनुमति दी (संदर्भ देखें)। जब आप कर लें, तो अपना पृष्ठ ताज़ा करें। उम्मीद है की वो मदद करदे।

लाइव उदाहरण: http://www.blanjamudah.com/crossdomain.xml

संदर्भ: http://en.wikipedia.org/wiki/Cross-site_request_forgery http://curtismorley.com/2007/09/01/flash-flex-tutorial-how-to-create-a-crossdomainxml-file/


1
यह मेरे लिए काम नहीं किया, यह फ़्लैश प्लेयर के लिए प्रासंगिक हो सकता है।
फेलिना


4

डोमेन और प्रोटोकॉल त्रुटि कोड के लिए खोज करने के बाद इस पृष्ठ पर आने वालों के लिए:

AdSense ने अपनी जावास्क्रिप्ट का एक नया async संस्करण जारी किया है जिसमें क्रॉस-डोमेन त्रुटियों को उत्पन्न किया गया है जब हमने उनके पुराने एम्बेड कोड का उपयोग किया था। जब हमने अपने AJAX- भारी साइट पर उनके मानक एम्बेड कोड का उपयोग किया, तो हमें क्रॉस-डोमेन त्रुटि मिली। जब हमने उनके async कोड को लागू किया, और ठीक से परिभाषित क्रॉसडोमेन . xml के साथ संयोजन में क्रॉस-डोमेन त्रुटि चली गई।


1

यह वास्तविक कारण मास्किंग त्रुटि संदेश का मामला लगता है। वास्तविक कारण संभवतः किसी प्रकार की Adsense misconfiguration है; दुर्भाग्य से Adsense अधिक प्रासंगिक त्रुटि संदेश देने के लिए पर्याप्त चेक नहीं करता है।

मेरी यह त्रुटि स्वयं थी और मंचों पर शोध करने के बाद इस निष्कर्ष पर पहुंची, जहां कुछ लोगों ने अपने बैंक खाते या जो कुछ भी सत्यापित करने के बाद यह तय किया था। मेरे मामले में, मेरा सर्वर-साइड वातावरण google_ad_client पैरामीटर के साथ खिलवाड़ कर रहा था, इसलिए असली समस्या यह थी कि पैरामीटर शून्य था। एक बार मैंने तय किया कि, विज्ञापन दिख रहे हैं और कोई और त्रुटि संदेश नहीं है।

व्यवहार में, यह वास्तव में एक ही मूल नीति के साथ कुछ नहीं करना है। अब जब एडसेंस कोड सही है, तो मैं अब लोकलहोस्ट, साथ ही सर्वर पर भी विज्ञापन दिखा सकता हूँ।


1

बस इसी तरह की समस्या है। यकीन नहीं है कि यह संबंधित है, लेकिन मैं वैसे भी समझाता हूँ।

मेरे पेज पर दो विज्ञापन दिखाई दे रहे थे और पेज के अंत में केवल एक बार इस स्क्रिप्ट को कॉल करके कोड को "रीफ़्रैक्टर" करना चाहते थे:

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

मेरे विज्ञापन टूट गए और मुझे पता चला कि इस स्क्रिप्ट टैग को प्रत्येक विज्ञापन संस्करण स्क्रिप्ट के ठीक बाद रखा जाना चाहिए:

<script type="text/javascript"><!--
google_ad_client = "ca-pub-872346872364872364";
google_ad_slot = "719238712983";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>

लेकिन जब मैंने अपने परिवर्तनों को वापस ले लिया था तब भी पहले स्क्रिप्ट टैग को अभी भी मेरे पृष्ठ के निचले भाग में रखा गया था और इस प्रकार एक विज्ञापन के रूप में मेरे स्क्रिप्ट-टैग में से एक को लोड करने की कोशिश की जा रही थी। यह विफल रहा और मुझे यह त्रुटि आपको दिखाई दी।

इसलिए जांचें कि आप प्रत्येक विज्ञापन के बाद दो विज्ञापन स्क्रिप्ट टैग रखते हैं और कोई स्थान नहीं है, पूर्व:

<script type="text/javascript"><!--
google_ad_client = "ca-pub-872346872364872364";
google_ad_slot = "719238712983";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

1

केवल <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>विज्ञापनों के ऊपर पृष्ठ के शीर्ष पर नीचे जाने के बजाय, मेरे लिए यह निर्धारित किया गया है


0

अपने Google Adsense डैशबोर्ड (वेब ​​या ऐप संस्करण) में साइट्स टैब में। सुनिश्चित करें कि आपकी साइट डोमेन के रूप में अपने-domain.com (या जो भी पुराने) के साथ सेटअप है और www.your-domain.com एक उपडोमेन के रूप में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.