From e4b937a92f94e94ac1e1e6cfa2c27ef68554114e Mon Sep 17 00:00:00 2001 From: David Norman Date: Thu, 11 May 2006 22:17:09 +0000 Subject: XHTML improvements and ActiveX bugfix related to http://www.microsoft.com/downloads/details.aspx?familyid=B7D9801B-4FB5-492E-903E-3400ABF1D731&displaylang=en --- AC_QuickTime.js | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 AC_QuickTime.js (limited to 'AC_QuickTime.js') diff --git a/AC_QuickTime.js b/AC_QuickTime.js new file mode 100644 index 0000000..998d42c --- /dev/null +++ b/AC_QuickTime.js @@ -0,0 +1,263 @@ +/* + +File: AC_QuickTime.js + +Abstract: This file contains functions to generate OBJECT and EMBED tags for QuickTime content. + +Version: <1.1> + +Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple +Computer, Inc. ("Apple") in consideration of your agreement to the +following terms, and your use, installation, modification or +redistribution of this Apple software constitutes acceptance of these +terms. If you do not agree with these terms, please do not use, +install, modify or redistribute this Apple software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, Apple grants you a personal, non-exclusive +license, under Apple's copyrights in this original Apple software (the +"Apple Software"), to use, reproduce, modify and redistribute the Apple +Software, with or without modifications, in source and/or binary forms; +provided that if you redistribute the Apple Software in its entirety and +without modifications, you must retain this notice and the following +text and disclaimers in all such redistributions of the Apple Software. +Neither the name, trademarks, service marks or logos of Apple Computer, +Inc. may be used to endorse or promote products derived from the Apple +Software without specific prior written permission from Apple. Except +as expressly stated in this notice, no other rights or licenses, express +or implied, are granted by Apple herein, including but not limited to +any patent rights that may be infringed by your derivative works or by +other works in which the Apple Software may be incorporated. + +The Apple Software is provided by Apple on an "AS IS" basis. APPLE +MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION +THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND +OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. + +IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, +MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED +AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), +STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +Copyright © 2006 Apple Computer, Inc., All Rights Reserved + +*/ + +/* + * This file contains functions to generate OBJECT and EMBED tags for QuickTime content. + */ + +/************** LOCALIZABLE GLOBAL VARIABLES ****************/ + +var gArgCountErr = 'The "%%" function requires an even number of arguments.' + + '\nArguments should be in the form "atttributeName", "attributeValue", ...'; + +/******************** END LOCALIZABLE **********************/ + +var gTagAttrs = null; +var gQTGeneratorVersion = 1.0; + +function AC_QuickTimeVersion() { return gQTGeneratorVersion; } + +function _QTComplain(callingFcnName, errMsg) +{ + errMsg = errMsg.replace("%%", callingFcnName); + alert(errMsg); +} + +function _QTAddAttribute(prefix, slotName, tagName) +{ + var value; + + value = gTagAttrs[prefix + slotName]; + if ( null == value ) + value = gTagAttrs[slotName]; + + if ( null != value ) + { + if ( 0 == slotName.indexOf(prefix) && (null == tagName) ) + tagName = slotName.substring(prefix.length); + if ( null == tagName ) + tagName = slotName; + return tagName + '="' + value + '" '; + } + else + return ""; +} + +function _QTAddObjectAttr(slotName, tagName) +{ + // don't bother if it is only for the embed tag + if ( 0 == slotName.indexOf("emb#") ) + return ""; + + if ( 0 == slotName.indexOf("obj#") && (null == tagName) ) + tagName = slotName.substring(4); + + return _QTAddAttribute("obj#", slotName, tagName); +} + +function _QTAddEmbedAttr(slotName, tagName) +{ + // don't bother if it is only for the object tag + if ( 0 == slotName.indexOf("obj#") ) + return ""; + + if ( 0 == slotName.indexOf("emb#") && (null == tagName) ) + tagName = slotName.substring(4); + + return _QTAddAttribute("emb#", slotName, tagName); +} + + +function _QTAddObjectParam(slotName, generateXHTML) +{ + var paramValue; + var paramStr = ""; + var endTagChar = (generateXHTML) ? ' />' : '>'; + + if ( -1 == slotName.indexOf("emb#") ) + { + // look for the OBJECT-only param first. if there is none, look for a generic one + paramValue = gTagAttrs["obj#" + slotName]; + if ( null == paramValue ) + paramValue = gTagAttrs[slotName]; + + if ( 0 == slotName.indexOf("obj#") ) + slotName = slotName.substring(4); + + if ( null != paramValue ) + paramStr = ' \n' + + _QTAddObjectParam("src", generateXHTML); + var embedTag = ' \n'; +} + +// return the object/embed as a string +function QT_GenerateOBJECTText() +{ + return _QTGenerate("QT_GenerateOBJECTText", false, arguments); +} + +function QT_GenerateOBJECTText_XHTML() +{ + return _QTGenerate("QT_GenerateOBJECTText_XHTML", true, arguments); +} + +function QT_WriteOBJECT() +{ + document.writeln(_QTGenerate("QT_WriteOBJECT", false, arguments)); +} + +function QT_WriteOBJECT_XHTML() +{ + document.writeln(_QTGenerate("QT_WriteOBJECT_XHTML", true, arguments)); +} -- cgit v1.2.3