flash.js
来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· JavaScript 代码 · 共 447 行 · 第 1/2 页
JS
447 行
return document.getElementById(this.id);
}, setVisible:function (visible) {
var container = dojo.byId(this.id + "Container");
if (visible == true) {
container.style.visibility = "visible";
} else {
container.style.position = "absolute";
container.style.x = "-1000px";
container.style.y = "-1000px";
container.style.visibility = "hidden";
}
}, center:function () {
var elementWidth = this.width;
var elementHeight = this.height;
var scroll_offset = dojo.html.getScroll().offset;
var viewport_size = dojo.html.getViewport();
var x = scroll_offset.x + (viewport_size.width - elementWidth) / 2;
var y = scroll_offset.y + (viewport_size.height - elementHeight) / 2;
var container = dojo.byId(this.id + "Container");
container.style.top = y + "px";
container.style.left = x + "px";
}};
dojo.flash.Communicator = function () {
if (dojo.flash.useFlash6()) {
this._writeFlash6();
} else {
if (dojo.flash.useFlash8()) {
this._writeFlash8();
}
}
};
dojo.flash.Communicator.prototype = {_writeFlash6:function () {
var id = dojo.flash.obj.id;
document.writeln("<script language=\"JavaScript\">");
document.writeln(" function " + id + "_DoFSCommand(command, args){ ");
document.writeln(" dojo.flash.comm._handleFSCommand(command, args); ");
document.writeln("}");
document.writeln("</script>");
if (dojo.render.html.ie) {
document.writeln("<SCRIPT LANGUAGE=VBScript> ");
document.writeln("on error resume next ");
document.writeln("Sub " + id + "_FSCommand(ByVal command, ByVal args)");
document.writeln(" call " + id + "_DoFSCommand(command, args)");
document.writeln("end sub");
document.writeln("</SCRIPT> ");
}
}, _writeFlash8:function () {
}, _handleFSCommand:function (command, args) {
if (command != null && !dojo.lang.isUndefined(command) && /^FSCommand:(.*)/.test(command) == true) {
command = command.match(/^FSCommand:(.*)/)[1];
}
if (command == "addCallback") {
this._fscommandAddCallback(command, args);
} else {
if (command == "call") {
this._fscommandCall(command, args);
} else {
if (command == "fscommandReady") {
this._fscommandReady();
}
}
}
}, _fscommandAddCallback:function (command, args) {
var functionName = args;
var callFunc = function () {
return dojo.flash.comm._call(functionName, arguments);
};
dojo.flash.comm[functionName] = callFunc;
dojo.flash.obj.get().SetVariable("_succeeded", true);
}, _fscommandCall:function (command, args) {
var plugin = dojo.flash.obj.get();
var functionName = args;
var numArgs = parseInt(plugin.GetVariable("_numArgs"));
var flashArgs = new Array();
for (var i = 0; i < numArgs; i++) {
var currentArg = plugin.GetVariable("_" + i);
flashArgs.push(currentArg);
}
var runMe;
if (functionName.indexOf(".") == -1) {
runMe = window[functionName];
} else {
runMe = eval(functionName);
}
var results = null;
if (!dojo.lang.isUndefined(runMe) && runMe != null) {
results = runMe.apply(null, flashArgs);
}
plugin.SetVariable("_returnResult", results);
}, _fscommandReady:function () {
var plugin = dojo.flash.obj.get();
plugin.SetVariable("fscommandReady", "true");
}, _call:function (functionName, args) {
var plugin = dojo.flash.obj.get();
plugin.SetVariable("_functionName", functionName);
plugin.SetVariable("_numArgs", args.length);
for (var i = 0; i < args.length; i++) {
var value = args[i];
value = value.replace(/\0/g, "\\0");
plugin.SetVariable("_" + i, value);
}
plugin.TCallLabel("/_flashRunner", "execute");
var results = plugin.GetVariable("_returnResult");
results = results.replace(/\\0/g, "\x00");
return results;
}, _addExternalInterfaceCallback:function (methodName) {
var wrapperCall = function () {
var methodArgs = new Array(arguments.length);
for (var i = 0; i < arguments.length; i++) {
methodArgs[i] = arguments[i];
}
return dojo.flash.comm._execFlash(methodName, methodArgs);
};
dojo.flash.comm[methodName] = wrapperCall;
}, _encodeData:function (data) {
var entityRE = /\&([^;]*)\;/g;
data = data.replace(entityRE, "&$1;");
data = data.replace(/</g, "<");
data = data.replace(/>/g, ">");
data = data.replace("\\", "&custom_backslash;&custom_backslash;");
data = data.replace(/\n/g, "\\n");
data = data.replace(/\r/g, "\\r");
data = data.replace(/\f/g, "\\f");
data = data.replace(/\0/g, "\\0");
data = data.replace(/\'/g, "\\'");
data = data.replace(/\"/g, "\\\"");
return data;
}, _decodeData:function (data) {
if (data == null || typeof data == "undefined") {
return data;
}
data = data.replace(/\&custom_lt\;/g, "<");
data = data.replace(/\&custom_gt\;/g, ">");
data = eval("\"" + data + "\"");
return data;
}, _chunkArgumentData:function (value, argIndex) {
var plugin = dojo.flash.obj.get();
var numSegments = Math.ceil(value.length / 1024);
for (var i = 0; i < numSegments; i++) {
var startCut = i * 1024;
var endCut = i * 1024 + 1024;
if (i == (numSegments - 1)) {
endCut = i * 1024 + value.length;
}
var piece = value.substring(startCut, endCut);
piece = this._encodeData(piece);
plugin.CallFunction("<invoke name=\"chunkArgumentData\" " + "returntype=\"javascript\">" + "<arguments>" + "<string>" + piece + "</string>" + "<number>" + argIndex + "</number>" + "</arguments>" + "</invoke>");
}
}, _chunkReturnData:function () {
var plugin = dojo.flash.obj.get();
var numSegments = plugin.getReturnLength();
var resultsArray = new Array();
for (var i = 0; i < numSegments; i++) {
var piece = plugin.CallFunction("<invoke name=\"chunkReturnData\" " + "returntype=\"javascript\">" + "<arguments>" + "<number>" + i + "</number>" + "</arguments>" + "</invoke>");
if (piece == "\"\"" || piece == "''") {
piece = "";
} else {
piece = piece.substring(1, piece.length - 1);
}
resultsArray.push(piece);
}
var results = resultsArray.join("");
return results;
}, _execFlash:function (methodName, methodArgs) {
var plugin = dojo.flash.obj.get();
plugin.startExec();
plugin.setNumberArguments(methodArgs.length);
for (var i = 0; i < methodArgs.length; i++) {
this._chunkArgumentData(methodArgs[i], i);
}
plugin.exec(methodName);
var results = this._chunkReturnData();
results = this._decodeData(results);
plugin.endExec();
return results;
}};
dojo.flash.Install = function () {
};
dojo.flash.Install.prototype = {needed:function () {
if (dojo.flash.info.capable == false) {
return true;
}
if (dojo.render.os.mac == true && !dojo.flash.info.isVersionOrAbove(8, 0, 0)) {
return true;
}
if (!dojo.flash.info.isVersionOrAbove(6, 0, 0)) {
return true;
}
return false;
}, install:function () {
dojo.flash.info.installing = true;
dojo.flash.installing();
if (dojo.flash.info.capable == false) {
var installObj = new dojo.flash.Embed(false);
installObj.write(8);
} else {
if (dojo.flash.info.isVersionOrAbove(6, 0, 65)) {
var installObj = new dojo.flash.Embed(false);
installObj.write(8, true);
installObj.setVisible(true);
installObj.center();
} else {
alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
window.location.href = +dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
}
}
}, _onInstallStatus:function (msg) {
if (msg == "Download.Complete") {
dojo.flash._initialize();
} else {
if (msg == "Download.Cancelled") {
alert("This content requires a more recent version of the Macromedia " + " Flash Player.");
window.location.href = dojo.flash.Embed.protocol() + "://www.macromedia.com/go/getflashplayer";
} else {
if (msg == "Download.Failed") {
alert("There was an error downloading the Flash Player update. " + "Please try again later, or visit macromedia.com to download " + "the latest version of the Flash plugin.");
}
}
}
}};
dojo.flash.info = new dojo.flash.Info();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?