कौन से ब्राउज़र <स्क्रिप्ट async = "async" /> का समर्थन करते हैं?


196

1 दिसंबर 2009 को, Google ने अतुल्यकालिक Google Analytics ट्रैकिंग के लिए समर्थन की घोषणा की ।

<script>टैग के लिए एसिंक्रोनस निर्देश का उपयोग करके एसिंक्रोनस ट्रैकिंग प्राप्त की जाती है ।

कौन-से ब्राउज़र Async निर्देश ( <script async="async" />) का समर्थन करते हैं और किस संस्करण के बाद से?


1
यह आपके द्वारा लिंक किए गए उस पृष्ठ पर सही है: "फ़ायरफ़ॉक्स 3.6 आधिकारिक तौर पर इस नई सुविधा के लिए समर्थन की पेशकश करने वाला पहला ब्राउज़र है" एफडब्ल्यूआईडब्ल्यू यह एक एचटीएमएल 5 सुविधा है, जो जल्दी से बेहतर और बेहतर समर्थन प्राप्त कर रहा है।
वर्धमान ताजा

51
HTML5 युक्ति कहता है कि async = "सत्य" अवैध है। बूलियन HTML विशेषता के रूप में, विशेषता की उपस्थिति "सत्य" इंगित करती है, जबकि विशेषता की अनुपस्थिति "झूठे" के बराबर होती है। यदि विशेषता मौजूद है, तो विशेषता के लिए एकमात्र मान्य मान "" और "एसिंक्स" हैं।
जोएल म्यूलर

यहाँ इस विशेषता का लाइव परीक्षण है html5demo.braincracking.org/demo/async.php

3
यह इस मुद्दे में रुचि रखने वाले किसी भी व्यक्ति के लिए बार-बार जांचने के लिए एक बुकमार्क होना चाहिए: en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29
pumpkinthehead

जवाबों:


162

Google द्वारा निर्दिष्ट async समर्थन को दो भागों का उपयोग करके प्राप्त किया गया है:

  • DOM के लिए <script> टैग लिखने के लिए अपने पेज पर स्क्रिप्ट (Google द्वारा आपूर्ति की गई स्क्रिप्ट) का उपयोग कर रहा है।

  • उस स्क्रिप्ट में संगत ब्राउज़रों को संकेत देने के लिए async = "true" विशेषता है कि वह पृष्ठ को जारी रख सकता है।

पहला भाग <script async..टैग्स के समर्थन के बिना ब्राउज़रों पर काम करता है , जिससे उन्हें "हैक" के साथ एसिंक्स को लोड करने की अनुमति मिलती है (हालांकि एक बहुत ही ठोस), और यह भी कि वे पृष्ठ को पुनः प्रस्तुत किए बिना अनुमति देते हैं।

दूसरा भाग केवल संगत ब्राउज़र को प्रभावित करता है जो async html विशेषता को समझते हैं

  • एफएफ 3.6+
  • Android सभी संस्करणों के लिए एफएफ
  • IE 10+ (पूर्वावलोकन 2 से शुरू)
  • क्रोम 8+
  • Android के लिए Chrome सभी संस्करण
  • सफारी 5.0+
  • iOS सफारी 5.0+
  • Android ब्राउज़र 3.0+ (ऊपर मधुकोश)
  • ओपेरा 15.0+
  • ओपेरा मोबाइल 16.0+
  • ओपेरा मिनी कोई नहीं (8.0 के रूप में)

Async को निर्दिष्ट करने के लिए "html5 उचित" तरीका एक के साथ है <script async src="...", नहीं <script async="true"। हालाँकि, शुरू में ब्राउज़रों ने इस सिंटैक्स का समर्थन नहीं किया था, न ही उन्होंने संदर्भित तत्वों पर स्क्रिप्ट की संपत्ति स्थापित करने का समर्थन किया था। यदि आप ऐसा चाहते हैं, तो सूची बदल जाती है:

  • एफएफ 4+
  • IE 10+ (पूर्वावलोकन 2 और ऊपर)
  • क्रोम 12+
  • Android के लिए क्रोम 32+
  • सफारी 5.1+
  • कोई Android संस्करण नहीं

34
मुझे यकीन नहीं है कि आपको async = "true" की भी आवश्यकता है, आप बस 'async' लिख सकते हैं
vsync

4
इसलिए अगर मैं स्क्रिप्ट टैग उत्पन्न करता हूँ जैसे कि Google करता है - जो सही होगा: var s = document.createElement ('script'); s.async = 'सही'; s.async = true (google ऐसा करता है) या s.async = 'async'; ?
टोबी

8
@ टोबियास: आप HTML बूलियन विशेषताओं और संबंधित डोम तत्व गुणों को मिला रहे हैं: HTML विशेषता (मार्कअप में मौजूद है और जब स्पष्ट रूप से उपयोग करने वाले गुणों को सेट कर रहा है setAttribute, जो अनुशंसित नहीं है) बस मौजूद होना चाहिए या या तो एक खाली स्ट्रिंग या खुद को सेट किया जाना चाहिए ( defer="defer", विशेष रूप से महत्वपूर्ण जब एक्सएचटीएमएल अनुरूप दस्तावेज लिखना); जावास्क्रिप्ट का उपयोग करते हुए तत्व की संपत्ति को मक्खी पर सेट करते समय, एक का उपयोग करना चाहिए s.async = true
मार्सेल कोर्पल

39
@vsync: यह भी नहीं होना चाहिए true; या तो async, async=""या async="async"
मार्सेल कोर्पल

4
कृपया ध्यान दें कि प्रश्न में पोस्ट जुड़ा हुआ है async="true"। यह यह करने के लिए सही तरीका नहीं है अब , लेकिन यह यह करने के लिए केवल व्यापक रूप से समर्थित रास्ता नहीं था तो । उदाहरण के लिए IE10p2 ने async="true"समर्थन किया लेकिन समर्थन नहीं कियाasync="async"
फिलिप रीक

60

इस सवाल के दो हिस्से हैं, वास्तव में।

  1. प्रश्न: कौन से ब्राउज़र मार्कअप में स्क्रिप्ट टैग पर "async" विशेषता का समर्थन करते हैं?

    एक: IE10p2 +, क्रोम 11+, सफारी 5+, फ़ायरफ़ॉक्स 3.6+

  2. प्रश्न: कौन से ब्राउज़र गतिशील रूप से बनाए गए स्क्रिप्ट तत्व पर जावास्क्रिप्ट में "async" संपत्ति के लिए व्यवहार को परिभाषित करने वाले नए चश्मे का समर्थन करते हैं ?

    एक: IE10p2 +, क्रोम 12+, सफारी 5.1+, फ़ायरफ़ॉक्स 4+

ओपेरा के लिए, वे एक संस्करण को जारी करने के बहुत करीब हैं जो दोनों प्रकार के एसिंक्स का समर्थन करेंगे। मैं इस पर उनके साथ मिलकर काम कर रहा हूं, और यह जल्द ही सामने आना चाहिए (मुझे उम्मीद है!)।

आर्डर किए गए async (aka, "async = false") के बारे में अधिक जानकारी यहाँ पाई जा सकती है: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

यह भी जांचने के लिए कि क्या कोई ब्राउज़र नए डायनेमिक एस्सेंट प्रॉपर्टी व्यवहार का समर्थन करता है: http://test.getify.com/test-async/


25

asyncपैरामीटर का समर्थन करने वाले ब्राउज़र संस्करणों की एक व्यापक सूची यहां उपलब्ध है


10

आपके संदर्भित पृष्ठ से:

http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html

फ़ायरफ़ॉक्स 3.6 इस नई सुविधा के लिए आधिकारिक रूप से समर्थन प्रदान करने वाला पहला ब्राउज़र है। यदि आप उत्सुक हैं, तो यहां आधिकारिक HTML5 async विनिर्देशन के बारे में अधिक जानकारी दी गई है ।


"यह नई सुविधा" HTML5 async विशेषता का उल्लेख कर रही है। Google Analytics एसिंक्स स्निपेट सभी ब्राउज़रों द्वारा समर्थित है।
ब्रायन

1

asyncवर्तमान में प्रमुख ब्राउज़रों के सभी नवीनतम संस्करण द्वारा समर्थित है। अधिकांश ब्राउज़र पर अब इसे कुछ वर्षों के लिए समर्थित किया गया है।

आप MDN वेबसाइट में कौन से ब्राउज़र async (और defer) का समर्थन करते हैं, इस पर नज़र रख सकते हैं:
https://developer.mozilla.org/en-US/docs/HTML/Element/script


हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं। - रिव्यू से
माइकल गस्किल

@MichaelGaskill क्या यह पर्याप्त है? क्या आप मुझे फिलिप के उत्तर से जोड़ना चाहते हैं?
ब्रूनोइस

0

बस इस पृष्ठ के DOM (document.scripts [1] .attributes) पर एक नज़र थी जो कि Google विश्लेषिकी का उपयोग करता है। मैं आपको बता सकता हूं कि Google async = "" का उपयोग कर रहा है।

[type="text/javascript", async="", src="http://www.google-analytics.com/ga.js"]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.