wp/wp-includes/js/swfupload/plugins/swfupload.swfobject.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
	SWFUpload.SWFObject Plugin
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
	Summary:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
		This plugin uses SWFObject to embed SWFUpload dynamically in the page.  SWFObject provides accurate Flash Player detection and DOM Ready loading.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
		This plugin replaces the Graceful Degradation plugin.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	Features:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
		* swfupload_load_failed_hander event
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
		* swfupload_pre_load_handler event
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
		* minimum_flash_version setting (default: "9.0.28")
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
		* SWFUpload.onload event for early loading
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	Usage:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		Provide handlers and settings as needed.  When using the SWFUpload.SWFObject plugin you should initialize SWFUploading
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		in SWFUpload.onload rather than in window.onload.  When initialized this way SWFUpload can load earlier preventing the UI flicker
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		that was seen using the Graceful Degradation plugin.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
		<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
			var swfu;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
			SWFUpload.onload = function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
				swfu = new SWFUpload({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
					minimum_flash_version: "9.0.28",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
					swfupload_pre_load_handler: swfuploadPreLoad,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
					swfupload_load_failed_handler: swfuploadLoadFailed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
			};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	Notes:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		You must provide set minimum_flash_version setting to "8" if you are using SWFUpload for Flash Player 8.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		The swfuploadLoadFailed event is only fired if the minimum version of Flash Player is not met.  Other issues such as missing SWF files, browser bugs
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		 or corrupt Flash Player installations will not trigger this event.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		The swfuploadPreLoad event is fired as soon as the minimum version of Flash Player is found.  It does not wait for SWFUpload to load and can
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
		 be used to prepare the SWFUploadUI and hide alternate content.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		swfobject's onDomReady event is cross-browser safe but will default to the window.onload event when DOMReady is not supported by the browser.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		 Early DOM Loading is supported in major modern browsers but cannot be guaranteed for every browser ever made.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
// SWFObject v2.1 must be loaded
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
var SWFUpload;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
if (typeof(SWFUpload) === "function") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
	SWFUpload.onload = function () {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
	swfobject.addDomLoadEvent(function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		if (typeof(SWFUpload.onload) === "function") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			setTimeout(function(){SWFUpload.onload.call(window);}, 200);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
	});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
	SWFUpload.prototype.initSettings = (function (oldInitSettings) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
		return function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
			if (typeof(oldInitSettings) === "function") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
				oldInitSettings.call(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
			this.ensureDefault = function (settingName, defaultValue) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
				this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
			this.ensureDefault("minimum_flash_version", "9.0.28");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			this.ensureDefault("swfupload_pre_load_handler", null);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			this.ensureDefault("swfupload_load_failed_handler", null);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			delete this.ensureDefault;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
	})(SWFUpload.prototype.initSettings);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	SWFUpload.prototype.loadFlash = function (oldLoadFlash) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
		return function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			var hasFlash = swfobject.hasFlashPlayerVersion(this.settings.minimum_flash_version);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
			if (hasFlash) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
				this.queueEvent("swfupload_pre_load_handler");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
				if (typeof(oldLoadFlash) === "function") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
					oldLoadFlash.call(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
				this.queueEvent("swfupload_load_failed_handler");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
	}(SWFUpload.prototype.loadFlash);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
	SWFUpload.prototype.displayDebugInfo = function (oldDisplayDebugInfo) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		return function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
			if (typeof(oldDisplayDebugInfo) === "function") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
				oldDisplayDebugInfo.call(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
			this.debug(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
				[
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
					"SWFUpload.SWFObject Plugin settings:", "\n",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
					"\t", "minimum_flash_version:                      ", this.settings.minimum_flash_version, "\n",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
					"\t", "swfupload_pre_load_handler assigned:     ", (typeof(this.settings.swfupload_pre_load_handler) === "function").toString(), "\n",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
					"\t", "swfupload_load_failed_handler assigned:     ", (typeof(this.settings.swfupload_load_failed_handler) === "function").toString(), "\n",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
				].join("")
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
			);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
		};	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
	}(SWFUpload.prototype.displayDebugInfo);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
}