SciTechBlog   « Back to Blog Main
September 29, 2008

Hubble servicing mission delayed

Posted: 12:43 PM ET

7PM UPDATE:  NASA just held a teleconference for reporters to discuss the Hubble mission delay.  The basic facts we gave you earlier in the day still hold up.  The part that has failed is called the Control Unit/Science Data Formatter.  There is a replacement part housed at the Goddard Space Flight Center, where Hubble operations are based.  The Hubble team will be putting that part through a series of tests to make sure it is operational and ready to fly, and they say they are confident it will pass.   If all goes as planned, Atlantis could be ready to fly by mid-February.

The Hubble Space Telescope. Source: NASA

In the mean time, the Space Shuttle Program will be making forward plans over the next couple of weeks.  Most likely, they will decide to remove the Hubble payload from Atlantis and eventually roll that shuttle back to the Vehicle Assembly Building.  Endeavour would then move to launch pad 39A and could be ready to launch as soon as November 14.

4PM UPDATE:    NASA has confirmed the launch will be delayed.   A new launch date has not been announced, but it will likely slip to January or February 2009.

Regarding the malfunctioning computer on the telescope: for an unknown reason, the principal channel on the on-board scientific data download system stopped working over the weekend.  Efforts to troubleshoot the problem have failed.  Later this week, telescope operators will try to activate a redundant downlink channel.  That "B-side" channel has never been switched on in orbit - it was last activated during ground tests in the late 1980's or early 1990.  Even it it works, the computer system will be left without redundancy.  Scientists and engineers will need time to study the problem, and determine whether that system can be replaced during the upcoming mission.  It would also take time for engineers to configure replacement hardware for flight, and for astronauts to train for a removal and replacement task.

Sources tell CNN the space shuttle Atlantis mission to conduct the fifth and final servicing mission for the Hubble Space Telescope will very likely  be delayed until early next year.

An additional technical problem has cropped up with the telescope's on-board scientific data downlink computer. Scientists and engineers will need time to study the problem, and determine whether additional repair tasks will be added to the mission.

Atlantis has been targeted for launch October 14. The next shuttle mission in the queue is a shuttle Endeavour mission to the International Space Station. It is currently targeted for launch on November 16.

–Kate Tobin, Sr. Producer, CNN Science & Technology

Filed under: Hubble Space Telescope • NASA • Space

Share this on:
Franko   September 29th, 2008 3:12 pm ET

Earth based adaptive optics, resolution now surpassing Hubble.
Interesting will be James Webb Space Telescope (JWST)

Visible light a little less than 1 micron wavelength.
The next telescope will be infrared – all the way out to 28 micron wavelength

Larian LeQuella   September 29th, 2008 3:20 pm ET

Let's hope "Side B", as NASA calls it, powers up! It's been inactive since launch, so if it does power up, those engineers deserve a bonus check.

As for other telescopes, the one I am most interested in is the terrestrial planet finder. That will be some exciting astronomy!

Wisdom   September 29th, 2008 6:00 pm ET

I guess until it's fixed we should call it Hobble?

Derek   September 29th, 2008 6:28 pm ET

Larian: TPF has been delayed indefinitely and may never be launched. The precusor to that mission, the Space Interferometry Mission (SIM) has been delayed as well with MAYBE a launch date in 2015. We might not see TPF until 2020s at least. We might not even see TPF at all in its current form. Perhaps the European "Darwin" mission will have better luck?

Franko   September 29th, 2008 11:53 pm ET

Before we blast the Aliens we have to spy them
Giant phase array telescope, orbiting a little beyond Neptune

To nearest star = 9.46 e5 m/light year * 4.2 light year ~ 4 e16 m
Diameter of Neptune orbit = 1 e13 m
1,000 ghz (1 Thz) wavelength 3 e-4 m
x/4 e16 = 1.22*( 3 e-4/1 e13 ) =~ 1.5 meter resolution

If we could do 1 micron, near infrared, (red is 0.7 micron),
300 Thz, ~ 5 mm resolution.

MikeK   September 30th, 2008 10:28 am ET


I have an alternative- use the shuttle to retrieve Hubbe, do a thorough diagnostic / repair / refit on the ground. Add a roboti thrust module that could bring Hubble to ISS for fture repairs, and return Hubble to orbit on the final flight of the Space Shuttle.

JD   September 30th, 2008 11:17 am ET

What a close call! Imagine the ramifications if we had repaired the Hubble only to have it break again the next day.

TJ   September 30th, 2008 12:01 pm ET

What will this delay do to the Ares 1-x launch?

Science News 9/30/08 « Weatherdem’s Weblog   September 30th, 2008 12:32 pm ET

[...] A critical component of the Hubble has failed.  The Control Unit/Science Data Formatter is no longer working, meaning data can't be sent to the ground.  A backup version is on-board, but scientists need to see if it can be brought online.  Another backup is located at the Hubble operations center.  Engineers will see if it can be made flight ready and if the system can be replaced in-flight.  Astronauts scheduled for the original Hubble repair mission will likely have to do some additional training also.  All this means the Hubble repair mission is likely to be delayed until January or February of next year.  The next International Space Station construction mission would then be moved up to mid-November. [...]

John Dfwembalmer   October 1st, 2008 5:09 pm ET

I like the idea of loading the Hubble on the Shuttle, bringing it home and repairing it and relaunching it via the space shuttle, or maybe even the new platform. If it is un-repairable at a reasonable cost, I believe it should have a home in the Smithsonian Museum of Flight, instead of incinerating in the atmosphere! What a teaching tool, and piece of history!

John Dfwembalmer   October 1st, 2008 5:12 pm ET

Additionally, what a great platform for research of the long term effects of space exposure to electronic equipment!

Franko   October 2nd, 2008 1:58 am ET

Have to move on, Palomar ( 5-meter) is easy to maintain, Hubble (2.4 m) is not
"The James Webb Space Telescope (JWST) will be a large infrared telescope with a 6.5-meter primary mirror. Launch is planned for 2013."

Large interferometers, systhesizing large apperture are the near future.

alubroplalave   December 17th, 2008 5:26 pm ET

Goodday I'm new here
And it looks like a interesting forum, so just wanted to say hello! :):):)
And looking forward to participating.
Going on vacation for a few days, so i'll be back

Terrebenthx   October 20th, 2010 7:54 am ET

Hello hello

I'm new...Nice forum !

My name is Jonathan, 27 years old (French).

Nice to meet you !

offersyvp   October 23rd, 2010 9:59 am ET

Artileantatot   September 23rd, 2011 6:59 am ET

Man .. Excellent .. Superb .. I will bookmark your website and take the feeds additionallyI'm happy to seek out so many useful info right here within the post, we need work out extra techniques in this regard, thanks for sharing. . . . . .

Nirethotrergo   October 8th, 2011 4:51 am ET

Hello everyone!
I am an investor and I would like to introduce you to this program where you simply make deposit and receive daily profit, and also receive your investment back at the end of the period. Me and my wife joined it years ago and going smooth since then.I've made so much money since then and i would like to share it with you, i explain how it works and how to get started. Check it out:

lijingjing   October 19th, 2011 12:18 pm ET

Unknown message

DSDS   December 2nd, 2011 9:52 pm ET

DSDS – Deutschland sucht den Superstar – Wer will 3 Tage auf die Malediven?


Am 9.12.2011 wird unser erster DSDS Weihnachtskalender geöffnet:

Den ersten Kandidat der TOP 15 im Jahr 2012 geben wir bekannt.

Nach jedem Tag ab dem 9.12. erfolgt ein weiteres Fensterchen mit einem weiteren DSDS TOP 15 Kandidaten.

Am Heiligabend (24.12.2011) wird dann die große Doppelpforte aufgeklappt: ALLE TOP 15 Kandidaten werden preisgegeben, d.h. jeder bekommt als Weihnachtsgeschenk den Vor und Nachnamen des Kandidaten.

Achtung: Wer uns von den 15 Kandidaten das erste Privatfoto innerhalb von 3 Tagen zusendet bekommt eine Reise nach Malediven mit 3 Tagen Hotel, Flug von einem Flughafen innerhalb Deutschland, Austria oder Schweiz.

Weiterhin erscheinen von Knecht Ruprecht die ersten Bilder der Malediven!

Schaut mal rein!


zolotoytelec99999   February 9th, 2012 7:03 am ET


1 30

Mianokure   May 29th, 2012 2:30 am ET

Для более основательного дневного макияжа стоит выбрать тональную основу, которая сочетала бы в себе свойства крема и пудры, то есть легко наносилась и была бы прозрачной. Если вы счастливая обладательница здоровой кожи, можно ограничиться только пудрой, причем желательно рассыпчатой.

UA_DataBase   December 17th, 2012 4:59 am ET

Продаю актуальные базы данных по Украине 2012
База налоговая по физическим лицам украины 2012
База налоговая по доходам граждан украины 2012
База налоговая по предприятиям Украины 2012
База Апра, 2012
База о судимостях, 2012
База о розысках, 2012
База о административных правонарушениях, 2012
База потерянных паспортов, 2012
База угнанных автотранспортных средствах, 2012
База украденных вещей; 2012
База наличии оружия, 2012
База личного автомобиля, 2012
База предприятия Украины 2012
База Балансы предприятий Украины 2012
База 09 телефоны квартир и предприятий Украины 2012
База Гаи Украины 2012
База земельный кадастр по Киеву и области 2012
База Таможня Украины 2012
База Частные предприниматели Украины 2012
База платильщики НДС Украины 2012
База Арбитражный суд Украины 2012
База данных – КОБРА – Украина 2012
База Объемы производства промышленных предприятий Украины 2012
База балансы и финансовые результаты предприятий Украины 2012
База паспартов Украины 2012
База пенсионного фонда Украины 2012

Все вопросы: balans-ltd-ukraine*

neungardave   March 12th, 2013 8:23 pm ET

Who's A Volunteer
As I was giving a speech on "who's a volunteer," the following thought came to me: "Since everyone says 'crime doesn't pay'–should we start thinking of criminals as 'volunteers'?"

aquaml   January 28th, 2016 4:46 pm ET

Добрый день уважаемые участники подскажите как тут отправить личное сообщение немогу понять?

Mokoparbia   March 23rd, 2016 6:58 am ET

Когда перед Apple встал вопрос о разработке операционной системы нового поколения, то, взвесив все «за» и «против» компания в качестве основы для новой Mac OS решила воспользоваться разработками фирмы NeXT, которая использовала операционные системы под общим названием UNIX. Именно система OpenStep (NeXTStep) стала основой для построения новой Mac OS. Разработчикам новой Mac OS надо было обеспечить плавный переход от старой системы к новой так, чтобы пользователи могли по-прежнему работать с большим количеством уже имеющихся программ, пока не будут созданы более мощные и удобные. Так появилась новая система Mac OS X.

CarlosQuart   June 14th, 2017 9:21 am ET

?Customized Parts
This specification describes the method for enabling the author to define and use new varieties of DOM features inside a document. It is known as a copy belonging to the relevant parts of [ HTML ] up through commit 81ee034f316f4366aeb315d16ea21521c83ab427 and [ WHATWG-DOM ] through commit cb85ac4c35baa1345f2b71e2dd3d57b098ddf2d1. Section titles are prefixed with "HTML:" or "DOM:" to indicate which spec they copy from.
Status of This Document
This section describes the status of this document in the time of its publication. Other documents may supersede this document. A list of active W3C publications and therefore the latest revision of this technical report is found inside the W3C technical reports index at
This document was published by the World-wide-web System Working Group as a Working Draft. This document is intended to become a W3C Recommendation. If you want to make comments regarding this document, please send them to (subscribe. archives ) with [custom-elements] for the commence of your email's subject. All comments are welcome.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is definitely a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than get the job done in progress.
This document was produced by a group operating underneath the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in relationship with the deliverables on the group; that site also contains instructions for disclosing a patent. An individual who has actual knowledge of the patent which the individual believes comprises Essential Claim(s) must disclose the particulars in accordance with section 6 in the W3C Patent Policy.
This document is governed by the 1 September 2015 W3C Routine Document.
Table of Contents
1. Conformance
In the process as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this particular specification are non-normative. Everything else during this specification is normative.
Any point, at which a conforming UA must make decisions about the state or reaction to the state of your conceptual design, is captured as algorithm. The algorithms are defined in terms of processing equivalence. The processing equivalence is truly a constraint imposed to the algorithm implementors, requiring the output belonging to the each UA-implemented as well as specified algorithm to be exactly the same for all inputs.
The IDL fragments within this specification must be interpreted as required for conforming IDL fragments, as described while in the World-wide-web IDL specification [ WEBIDL ].
two. HTML: Tailor made factors
two.1 Introduction
This section is non-normative.
Custom made aspects furnish a way for authors to develop their personal fully-featured DOM features. Although authors could always use non-standard features in their documents, with application-specific behaviour included after the fact by scripting or similar, these kinds of features have historically been non-conforming and not very functional. By defining a customized element, authors can inform the parser how to properly construct an element and how components of that class should react to changes.
Customized things are part of the larger effort to "rationalise the platform", by explaining present system benefits (like the components of HTML) in terms of lower-level author-exposed extensibility points (like custom made element definition). Although today there are a number of limitations for the abilities of custom made elements-both functionally and semantically-that prevent them from fully explaining the behaviours of HTML's present components, we hope to shrink this gap over time.
two.1.1 Constructing an autonomous customized element
This section is non-normative.
With the purposes of illustrating how to build an autonomous personalized element. let's define a personalized element that encapsulates rendering a small-scale icon for a country flag. Our goal is to be able to try it like so:
To do this, we 1st declare a class with the customized element, extending HTMLElement :
We then have to have to work with this class to define the element:
At this point, our higher than code will succeed! The parser, whenever it sees the flag-icon tag, will construct a new instance of our FlagIcon class, and tell our code about its new country attribute, which we then use to established the element's internal state and update its rendering (when best suited).
You are able to also develop flag-icon parts working with the DOM API:
Finally, we also can make use of the customized element constructor itself. That may be, the previously mentioned code is equivalent to:
two.1.two Building a customized built-in element
This section is non-normative.
Customized built-in things are a distinct kind of tailor made element. which are defined slightly differently and applied very differently compared to autonomous personalized parts. They exist to help reuse of behaviours from the current parts of HTML, by extending those things with new customized features. This is important since a number of within the present behaviours of HTML parts can unfortunately not be duplicated by choosing purely autonomous custom made aspects. Instead, customized built-in aspects help the installation of personalized construction behaviour, lifecycle hooks, and prototype chain onto present aspects, essentially "mixing in" these abilities on top from the already-existing element.
Customized built-in factors require a distinct syntax from autonomous customized factors merely because person agents and other software key off an element's local name in order to identify the element's semantics and behaviour. That is certainly, the concept of customized built-in parts creating on top of present behaviour relies upon crucially over the extended factors retaining their original local name.
During this example, we'll be forming a customized built-in element named plastic-button. which behaves like a normal button but gets fancy animation effects extra whenever you click on it. We commence by defining a class, just like before, although this time we prolong HTMLButtonElement instead of HTMLElement :
When defining our personalized element, we really have to also specify the extends option:
In general, the name from the element being extended cannot be determined simply by hunting at what element interface it extends, as a great many aspects share the same interface (this sort of as q and blockquote the two sharing HTMLQuoteElement ).
Trying to try a customized built-in element as an autonomous personalized element will not do the job; that could be, <plastic-button>Click me?</plastic-button> will simply generate an HTMLElement with no special behaviour.
Those that really want to produce a type-extended element programmatically, you can easily utilize the following variety of createElement() :
And as before, the constructor will also job:
Notably, all the in the ways in which button is special apply to this sort of "plastic buttons" in the process: their focus behaviour, ability to participate in type submission. the disabled attribute, and so on.
two.1.3 Negatives of autonomous customized aspects
This section is non-normative.
As specified below, and alluded to higher than, simply defining and by making use of an element called taco-button does not mean that these types of components represent buttons. That's, instruments these types of as Online browsers, search engines, or accessibility technological know-how will not routinely treat the resulting element as a button just influenced by its defined name.
To convey the desired button semantics to your range of customers, though nevertheless applying an autonomous customized element. quite a few techniques would absolutely need to be employed:
The addition on the tabindex attribute would make the taco-button interactive content. thus making it focusable. Note that if the taco-button were being to become logically disabled, the tabindex attribute would will be needing to be removed.
The addition of assorted ARIA attributes helps convey semantics to accessibility engineering. For example, setting the role attribute to " button " will convey the semantics that this is definitely a button, enabling buyers to successfully interact with the control employing usual button-like interactions in their accessibility know-how. Setting the aria-label attribute is necessary to give the button an accessible name. instead of having accessibility engineering traverse its child textual content nodes and announce them. And setting aria-disabled to " true " once the button is logically disabled conveys to accessibility technological innovation the button's disabled state.
The addition of event handlers to handle commonly-expected button behaviours helps convey the semantics for the button to World-wide-web browser buyers. In this particular case, by far the most relevant event handler would be one particular that proxies suitable keydown events to become click events, so you can activate the button both equally with keyboard and by clicking.
Also to any default visible styling provided for taco-button components, the visible styling will also would need to be updated to reflect changes in rational state, these types of as becoming disabled; that is definitely, whatever stylesheet has rules for taco-button will also will need to have rules for taco-button[disabled] .
With these points in mind, a full-featured taco-button that took about the responsibility of conveying button semantics (such as the ability to be disabled) may very well search something like this:
Even with this rather-complicated element definition, the element is just not a pleasure make use of for consumers: it will be continually "sprouting" tabindex and aria-* attributes of its personal volition. This is given that as of now there is not any way to specify default accessibility semantics or focus behaviour for custom made factors, forcing the use of these attributes to do so (even though they are usually reserved for allowing the consumer to override default behaviour).
In contrast, a very easy customized built-in element. as revealed around the previous section, would quickly inherit the semantics and behaviour from the button element, with no desire to implement these behaviours manually. In general, for any features with nontrivial behaviour and semantics that create on top of current components of HTML, customized built-in parts will be easier to produce, sustain, and consume.
two.1.four Upgrading components after their generation
This section is non-normative.
Considering that element definition can occur at any time, a non-custom element could be created. and then later become a customized element after an correct definition is registered. We call this method "upgrading" the element, from the normal element into a personalized element.
Upgrades help scenarios where it may be preferable for customized element definitions to be registered after relevant things is initially created, these kinds of as by the parser. They let progressive enhancement belonging to the content around the customized element. For example, from the following HTML document the element definition for img-viewer is loaded asynchronously:
The definition with the img-viewer element right here is loaded implementing a script element marked with the async attribute, placed after the <img-viewer> tag within the markup. Though the script is loading, the img-viewer element will be treated as an undefined element, similar to your span. Once the script loads, it will define the img-viewer element, as well as current img-viewer element within the webpage will be upgraded, applying the customized element's definition (which presumably contains applying an image filter identified by the string "Kelvin", enhancing the image's visible appearance).
Note that upgrades only apply to components with the document tree. (Formally, factors that are connected .) An element that is definitely not inserted into a document will stay un-upgraded. An example illustrates this point:
two.two Needs for personalized element constructors
When authoring personalized element constructors. authors are bound by the following conformance necessities:
A parameter-less call to super() must be the primary statement with the constructor body, to establish the correct prototype chain and this value before any further code is run.
A return statement must not appear any place inside the constructor body, unless it can be described as very simple early-return ( return or return this ).
The element's attributes and children must not be inspected, as inside of the non-upgrade case none will be existing, and relying on upgrades makes the element less usable.
The element must not gain any attributes or children, as this violates the expectations of consumers who make use of the createElement or createElementNS methods.
In general, show results should be deferred to connectedCallback as a lot as possible-especially show results involving fetching resources or rendering. However, note that connectedCallback may very well be called much more than once, so any initialization do the job that's truly one-time will will need a guard to prevent it from jogging twice.
In general, the constructor should be chosen to create initial state and default values, and to put together event listeners and possibly a shadow root .
Several of these specifications are checked during element generation. either directly or indirectly, and failing to follow them will result in a very tailor made element that cannot be instantiated by the parser or DOM APIs.
two.3 Core concepts
A personalized element is really an element that may be customized. Informally, this would mean that its constructor and prototype are defined by the author, instead of by the consumer agent. This author-supplied constructor purpose is called the personalized element constructor .
Two distinct styles of personalized features may be defined:
An autonomous personalized element. which is defined with no extends option. These kinds of custom made aspects have a local name equal to their defined name .
A customized built-in element. which is defined with the extends option. These variations of tailor made parts have local name equal to the value passed in their extends option, and their defined name is implemented because the value belonging to the is attribute.
After a customized element is created. changing the value within the is attribute does not change the element's behaviour, as it is saved in the element as its is value .
Autonomous custom made factors have the following element definition:
An autonomous tailor made element does not have any special meaning: it represents its children. A customized built-in element inherits the semantics from the element that it extends.
Any namespace-less attribute that's relevant to the element's functioning, as determined by the element's author, may be specified on an autonomous customized element. so prolonged since the attribute name is XML-compatible and consists of no uppercase ASCII letters. The exception is the is attribute, which must not be specified on an autonomous custom made element (and that may have no effect if it is).
Customized built-in features follow the normal conditions for attributes, dependant upon the features they prolong. To incorporate custom made attribute-based behavior, use data-* attributes.
A valid custom made element name is known as a sequence of characters name that meets all belonging to the following necessities:
PotentialCustomElementName. = [a-z] (PCENChar )* '-' (PCENChar )* PCENChar. = "-" | "." | [0-9] | "_" | [a-z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
This makes use of the EBNF notation from the XML specification. [ XML ]
name must not be any with the following:
The list of names previously mentioned is the summary of all hyphen-containing element names from the applicable specifications. namely SVG and MathML. [ SVG ] [ MATHML ]
These demands ensure several goals for valid tailor made element names :
They start out by having a lowercase ASCII letter. ensuring that the HTML parser will treat them as tags instead of as textual content.
They do not contain any uppercase ASCII letters. ensuring that the person agent can always treat HTML aspects ASCII-case-insensitively.
They contain a hyphen, useful for namespacing and to ensure forward compatibility (since no factors will be extra to HTML, SVG, or MathML with hyphen-containing local names inside the foreseeable future).
They can always be created with createElement() and createElementNS(). which have restrictions that go beyond the parser's.
Apart from these restrictions, a huge assortment of names is allowed, to give maximum flexibility for use cases like <math-?> or <emotion-??> .
A personalized element definition describes a custom made element and consists of:
A name A valid customized element name A local name A local name A constructor A customized element constructor A prototype A JavaScript object A list of observed attributes A sequence<DOMString> A collection of lifecycle callbacks A map, whose four keys are the strings " connectedCallback ", " disconnectedCallback ", " adoptedCallback ", and " attributeChangedCallback ". The corresponding values are either an internet IDL Purpose callback operate type value, or null. By default the value of each and every entry is null. A construction stack A list, initially empty, that is certainly manipulated by the upgrade an element algorithm additionally, the HTML element constructors. Each and every entry on the list will be either an element or an previously constructed marker.
To appearance up a tailor made element definition. given a document. namespace. localName. and is. perform the following steps. They will return either a tailor made element definition or null:
If namespace is simply not the HTML namespace. return null.
If document does not have a browsing context. return null.
two.four The CustomElementRegistry interface
Each and every Window object is associated by having a unique instance of the CustomElementRegistry object, allocated in the event the Window object is created.
Tailor made element registries are associated with Window objects, instead of Document objects, since just about every customized element constructor inherits from the HTMLElement interface, and there is certainly exactly a particular HTMLElement interface for every Window object.
The customElements attribute on the Window interface must return the CustomElementRegistry object for that Window object.
Every CustomElementRegistry has a list of tailor made element definitions. initially empty. In general, algorithms with this specification look and feel up parts from the registry by any of name. local name. or constructor .
Every CustomElementRegistry also has an element definition is operating flag which is utilised to prevent reentrant invocations of element definition. It is initially unset.
Every CustomElementRegistry also has a when-defined promise map. mapping valid tailor made element names to guarantees. It is employed to implement the whenDefined() method.
window. customElements. define ( name. constructor ) Defines a new personalized element. mapping the given name to the given constructor as an autonomous tailor made element. window. customElements. define ( name. constructor. ) Defines a new customized element. mapping the given name to the given constructor as a customized built-in element with the element type identified by the supplied baseLocalName. A " NotSupportedError " DOMException will be thrown upon trying to increase a personalized element or an unknown element. window. customElements. get ( name ) Retrieves the customized element constructor defined to the given name. Returns undefined if there is absolutely no personalized element definition with the given name. window. customElements. whenDefined ( name ) Returns a promise that will be fulfilled when a customized element becomes defined with the given name. (If like a custom made element is currently defined, the returned promise will be immediately fulfilled.) Returns a promise rejected that has a " SyntaxError " DOMException if not given a valid tailor made element name.
Element definition is truly a strategy of adding a customized element definition to the CustomElementRegistry. This is accomplished by the define() method. When invoked, the define( name. constructor. selections ) method must run these steps:
If IsConstructor ( constructor ) is false, then throw a TypeError and abort these steps.
Let interface be the element interface for localName and namespace .
Established result into a new element that implements interface. with no attributes, namespace established to namespace. namespace prefix established to prefix. local name established to localName. tailor made element state established to " uncustomized ", custom made element definition established to null, is value established to is. and node document established to document .
If namespace is the HTML namespace. and either localName is regarded as a valid customized element name or is is non-null, then established result ’s tailor made element state to " undefined ".
To change an attribute attribute from an element element to value. run these steps:
Queue a mutation record of " attributes " for element with name attribute ’s local name. namespace attribute ’s namespace. and oldValue attribute ’s value.
If element is customized. then enqueue a personalized element callback reaction with element. callback name " attributeChangedCallback ", and an argument list containing attribute ’s local name. attribute ’s value. value. and attribute ’s namespace.
To append an attribute attribute to an element element. run these steps:
Queue a mutation record of " attributes " for element with name attribute ’s local name. namespace attribute ’s namespace. and oldValue null.
If element is personalized. then enqueue a custom made element callback reaction with element. callback name " attributeChangedCallback ", and an argument list containing attribute ’s local name. null, attribute ’s value. and attribute ’s namespace.
To remove an attribute attribute from an element element. run these steps:
Queue a mutation record of " attributes " for element with name attribute ’s local name. namespace attribute ’s namespace. and oldValue attribute ’s value.
If element is tailor made. then enqueue a custom made element callback reaction with element. callback name " attributeChangedCallback ", and an argument list containing attribute ’s local name. attribute ’s value. null, and attribute ’s namespace.
To replace an attribute oldAttr by an attribute newAttr in an element element. run these steps:
Queue a mutation record of " attributes " for element with name oldAttr ’s local name. namespace oldAttr ’s namespace. and oldValue oldAttr ’s value .
Replace oldAttr by newAttr inside of the element ’s attribute list .
Established oldAttr ’s element to null.
Established newAttr ’s element to element .
four.8 DOM: Cloning
To clone a node. using an optional document and clone children flag . run these steps:
If document shouldn't be given, let document be node ’s node document .
If node is definitely an element. then:
Let copy be the result of generating an element. given document. node ’s local name. node ’s namespace. node ’s namespace prefix. as well as the value of node ’s is attribute if existing (or null if not). The synchronous tailor made things flag should be unset.
For each individual attribute in node ’s attribute list. in order, run these substeps:
Let copyAttribute be a clone of attribute .
Append copyAttribute to copy .
Otherwise, let copy be a node that implements the same interfaces as node. and fulfills these further specifications, switching on node :
Established copy ’s node document and document to copy. if copy really is a document. and established copy ’s node document to document otherwise.
Run any cloning steps defined for node in other applicable specifications and pass copy. node. document also, the clone children flag if established, as parameters.
If the clone children flag is established, clone all the children of node and append them to copy. with document as specified and also the clone children flag being established.
Return copy .
four.9 DOM: Mutation algorithms
To insert a node into a parent before a child. having an optional suppress observers flag . run these steps:
This step intentionally does not pay back attention to the suppress observers flag .
For every single node in nodes. in tree order. run these substeps:
Insert node into parent before child or in the close of parent if child is null.
Run the insertion steps with inclusiveDescendant .
If inclusiveDescendant is connected. then:
If inclusiveDescendant is customized. then enqueue a customized element callback reaction with inclusiveDescendant. callback name " connectedCallback ", and an empty argument list.
If this successfully upgrades inclusiveDescendant. its connectedCallback will be enqueued mechanically during the upgrade an element algorithm.

Leave Your Comment


CNN welcomes a lively and courteous discussion as long as you follow the Rules of Conduct set forth in our Terms of Service. Comments are not pre-screened before they post. You agree that anything you post may be used, along with your name and profile picture, in accordance with our Privacy Policy and the license you have granted pursuant to our Terms of Service.

subscribe RSS Icon
About this blog

Are you a gadgethead? Do you spend hours a day online? Or are you just curious about how technology impacts your life? In this digital age, it's increasingly important to be fluent, or at least familiar, with the big tech trends. From gadgets to Google, smartphones to social media, this blog will help keep you informed.

subscribe RSS Icon
Powered by VIP