var nodes = document.getElementsByTagName("script"); var node = nodes[nodes.length - 1]; var src = document.querySelector ? node.src : node.getAttribute("src", 4);
之前一直覺得 node.getAttribute("src", 4) 是筆誤,後面在MSDN中找到了對應IE中的API[1],node
才明白這種寫法是兼容IE的寫法。this
getAttribute method Retrieves the value of the specified attribute. Document Object Model (DOM) Level 2 HTML Specification, Section 1.6.5 Syntax object.getAttribute(strAttributeName, lFlags) Parameters strAttributeName [in] Type: String String that specifies the name of the attribute. lFlags [in, optional] Type: Integer Integer that specifies one or more of the following flags: 0 Default. Performs a property search that is not case-sensitive, and returns an interpolated value if the property is found. 1 Performs a case-sensitive property search. To find a match, the uppercase and lowercase letters in strAttributeName must exactly match those in the attribute name. 2 Returns attribute value as a String. This flag does not work for event properties. 4 Returns attribute value as a fully expanded URL. Only works for URL attributes. Return value Type: Variant Variant that returns a String, Variant of type Integer, or Boolean value as defined by the attribute. If the attribute is not present, this method returns null.
[1] http://msdn.microsoft.com/en-us/library/ie/ms536429(v=vs.85).aspxspa