存档

文章标签 ‘web’

使用netbox把asp网站打包成本地运行的可执行程序

2011年4月26日 没有评论

netbox相当于一个超级精简的IIS,按照其官方的说法是“NetBox 提供 Microsoft IIS 5.0 兼容的 Active Server Pages 模块,不用修改代码直接将已经存在的使用 ASP 开发的应用程序移植到 NetBox 平台上来”,程序下载 http://www.netbox.cn:88/download/index.htm

安装完成后,使用非常简单,下面是个小例子

建立一个文件夹 wwwroot,把asp网站的程序和数据库等文件放在这里,相当于是网站的根目录

与wwwroot同级目录建立一个main.box文本文件,内容如下

Dim httpd

Shell.Service.RunService “NBWeb”, “NetBox Web Server”, “NetBox Http Server Sample”

‘———————- Service Event ———————

Sub OnServiceStart()
Set httpd = NetBox.CreateObject(“NetBox.HttpServer”)

If httpd.Create(“”, 8080) = 0 Then
Set host = httpd.AddHost(“”, “\wwwroot”)

host.EnableScript = true

‘———————-默认首页文件定义
host.AddDefault “index.asp”
host.AddDefault “default.asp”
host.AddDefault “default.htm”

httpd.Start

‘——–下面这里是定义运行exe文件后直接打开一个网页窗口,可以不要,直接在浏览器通过地址打开
Set htWin= CreateObject(“NetBox.HtmlWindow”)
htWin.ContextMenu=false
htWin.AllowClose=true
htWin.Width=723
htWin.Height=584
htWin.Title=”华康名家私8周年店庆抽奖系统”
htWin.scrollbar=false
htWin.Open “http://127.0.0.1:8080/”
htWin.ShowDialog

else
Shell.Quit 0
end if
End Sub

Sub OnServiceStop()
httpd.Close
‘Shell.Quit 0
End Sub

Sub OnServicePause()
httpd.Stop
End Sub

Sub OnServiceResume()
httpd.Start
End Sub

 

再建立的main.box文件上右键,build,生成exe文件,运行之即可

php压缩/解压zip的利器-PclZip

2011年3月31日 没有评论

PclZip简介与使用

PclZip介绍
PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip、PKZIP);且能对此类类档案进行处理,包括产生压缩档、列出压缩档的内容以及解压缩档案等等。由于能够在伺服器端进行压缩与解压缩的动作,所以相当方便使用。
PclZip定义一个PclZip类别,其类别物件可视为一个ZIP档案,亦提供method来进行处理。

如何使用PclZip
1.基础
所有的功能都由pclzip.lib.php这个档案提供,PclZip library可于其首页(www.phpconcept.net/pclzip/index.en.php)下载。所有的PKZIP档案其实就是一个PclZip的类别物件。当产生一个PclZip档案(ie, PclZip类别物件),就会先产生一个压缩档,且档名已经指定,但此压缩档的内容尚未存在:

< ?PHP
require_once('pclzip.lib.php');
$archive = new PclZip("archive.zip");
?>

此物件提供了一些public method可用来处理此档案。

2.参数
每一个method有其各自可使用的参数,包括有必须与非必须的参数:

< ?PHP
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');

$v_list = $archive->add('dev/file.txt',
PCLZIP_OPT_REMOVE_PATH, 'dev');
?>

上例中的’dev/file.txt’就是必须参数;’PCLZIP_OPT_REMOVE_PATH’则为非必须参数。当然有些method也可以只包含非必须的参数:

< ?PHP
$list = $archive->extract(PCLZIP_OPT_PATH, "folder",
PCLZIP_OPT_REMOVE_PATH, "data",
PCLZIP_CB_PRE_EXTRACT, "callback_pre_extract",);
?>

上例中原本压缩档内档案存放的路径为/data,不过你可以指定解压缩至/folder中。此外,在解压缩之前,会呼叫callback function(’callback_pre_extract()’),此function可让使用者在解压缩的过程中变更档案存放路径与档名,或是选择某些档案不解压缩。
所有可用的非必要参数可参考网址(www.phpconcept.net/pclzip/man/en/index.php)。

3.回传值
每个method所回传的值可能会不同,将会在每个method中说明。不过大部分的method回传0、error或是阵列。

4.错误处理
从版本1.3之后,错误处理已经整合至PclZip类别中,当一个method回传错误码,可以得知一些额外的讯息以方便错误处理:
* errorName():回传错误名称
* errorCode():回传错误码
* errorInfo():回传错误的描述

接下来会举几个例子来说明如何使用PclZip。

PclZip实例1、产生ZIP压缩档
PclZip($zipname):为PclZip constructor,$zipname为PKZIP压缩档的档名。
主要是产生一个PclZip物件,即一个PKZIP压缩档;但此时,只有压缩档产生出来,并做一些检查(例如是否有开启zlib extension…等),除此之外,并没有做其他动作。
create($filelist, [optional arguments list]):将参数$filelist指定的档案或目录(包含当中所有档案与子目录)加入上述所产生的压缩档中。
而非必要的参数则能够修改压缩档内的档案存放路径。
此method可用的参数可以参考网志(www.phpconcept.net/pclzip/man/en/index.php)。

下面的示例说明如何产生PKZIP压缩档(档名为archive.zip),并将file.txt、data/text.txt以及目录folder(包含当中的档案与子目录)加入刚刚产生的archive.zip中:

< ?PHP
include_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
$v_list = $archive->create('file.txt,data/text.txt,folder');
if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>

下面的示例说明基本上与上例一样产生archive.zip,但在将file.txt与text.txt压缩于其中时,将路径由data/改为install/ ;因此,在archive.zip中这两个档案的路径会是install/file.txt与install/text.txt

< ?PHP
include_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
$v_list = $archive->create('data/file.txt,data/text.txt',
PCLZIP_OPT_REMOVE_PATH, 'data',
PCLZIP_OPT_ADD_PATH, 'install');
if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>

PclZip实例2、列出压缩档内容
listContent( ) :列出压缩档中的内容,包括档案的属性与目录:

< ?PHP
include_once('pclzip.lib.php');
$zip = new PclZip("test.zip");

if (($list = $zip->listContent()) == 0) {
die("Error : ".$zip->errorInfo(true));
}

for ($i=0; $i<sizeof ($list); $i++) {
for(reset($list[$i]); $key = key($list[$i]); next($list[$i])) {
echo "File $i / [$key] = ".$list[$i][$key]."<br>";
}
echo "<br />";
}
?></sizeof>

上例将会回传结果:
File 0 / [filename] = data/file1.txt
File 0 / [stored_filename] = data/file1.txt
File 0 / [size] = 53
File 0 / [compressed_size] = 36
File 0 / [mtime] = 1010440428
File 0 / [comment] =
File 0 / [folder] = 0
File 0 / [index] = 0
File 0 / [status] = ok

File 1 / [filename] = data/file2.txt
File 1 / [stored_filename] = data/file2.txt
File 1 / [size] = 54
File 1 / [compressed_size] = 53
File 1 / [mtime] = 1011197724
File 1 / [comment] =
File 1 / [folder] = 0
File 1 / [index] = 1
File 1 / [status] = ok

PclZip实例3、解压缩档案
extract([options list]) :解压缩PKZIP中的档案或目录。
[options list]可用的参数可参考网址(www.phpconcept.net/pclzip/man/en/index.php)。这些参数能让使用者在解压缩的时候有更多的选项,譬如指定变更解压缩档案的路径、指定只解压缩某些档案或不解压缩某些档案或者是将档案解压缩成字串输出(可用于readme档)。

下例是一个简单的解压缩档案示例,将压缩档archive.zip内的档案解压缩至目前的目录:

< ?PHP
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');

if ($archive->extract() == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>

下例是进阶的解压缩档案使用,archive.zip中所有档案都解压缩于data/中,而特别指明在install/release中的所有档案也直接丢于data/中,而非data/install/ release:

< ?PHP
include('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract(PCLZIP_OPT_PATH, 'data',
PCLZIP_OPT_REMOVE_PATH, 'install/release') == 0) {
die("Error : ".$archive->errorInfo(true));
}
?>

本文转自 http://www.ccvita.com/59.html

ajax 返回的innerHTML里面的javascript代码执行问题及Demo [转载]

2010年9月13日 1 条评论

解决了一个困扰我许久的问题,用过AJAX的人可能会知道,当把从服务器返回xhr.responseText的数据设定给innerHTML时, 里面的JS代码并不能够执行,查了很多资料,终于找到一个简单而且可行的办法,就是把JS代码封装到一个DIV中通过xhr.responseText打 包给innerHTML,然后把<script></script>标签扒下去,在通过eval()函数执行JS代码(思想转载 自这 里),这里以弹出对话框为例,示例如下:

<!–这是innerHTML的内容–>

<div id=”a”>

<script>

alert(“aa”);

<script>

</div>

<!–这是调用JS的主页内容–>

var pageInfo = xhr.responseText;

document.getElementById(“pageInfo”).innerHTML = pageInfo;

eval(document.getElementById(“aa”).innerHTML.replace(/<script>|<\/script>/,”)); //将<script>标签替换掉,这样才能被eval()函数执行

结果出现了显示”aa”的对话框!

但是问题又出现了,如果执行2句或者两句以上的JS代码就会出现错误了!

这样我们就可以把需要执行的多行JS代码封装成一个方法直接放到需要调用该JS代码的主页面里,然后再被调用的页面里写上这个方法名就可以了,这里 以弹出2个对话框为例,示例如下:

<!–这是innerHTML的内容–>

<div id=”a”>

<script>

doit();

<script>

</div>

<!–这是调用JS的主页内容–>

var pageInfo = xhr.responseText;

document.getElementById(“pageInfo”).innerHTML = pageInfo;

eval(document.getElementById(“aa”).innerHTML.replace(/<script>|<\/script>/,”)); //将<script>标签替换掉,这样才能被eval()

function doit(){

alert(“aa”);

alert(“bb”);

}

结果出现了”aa” “bb”两个对话框!

这样就完美解决了ajax 返回的innerHTML里面的javascript代码执行问题,一些复杂的JS函数都可以,而且一些jQuery的方法也可以哦!

这是在网上找的资料,依据以此,我写了例子来 验证:

Defalut.aspx

<%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”Default.aspx.cs” Inherits=”AjaxJsTestWeb._Default” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>
<title>无标题页</title>
<script language=”javascript” type=”text/javascript” >

function getRequest() {
http_request = false;
if (window.XMLHttpRequest) {
//对于Mozilla﹑Netscape﹑Safari等浏览器,创建XMLHttpRequest
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
//如果服务器响应的header不是text/xml,可以调用其它方法修改该header
http_request.overrideMimeType(‘text/xml’);
}
} else if (window.ActiveXObject) {
// 对于Internet Explorer浏览器,创建XMLHttpRequest
try {
http_request = new ActiveXObject(“Msxml2.XMLHTTP”);
} catch (e) {
try {
http_request = new ActiveXObject(“Microsoft.XMLHTTP”);
} catch (e) {}
}
}
return http_request;
}
//获得Url 的responseText

function getResponseText(url)
{
http_request=getRequest();
http_request.open(‘GET’, url, false);
http_request.send(null);

if (http_request.readyState == 4)
{
// 收到完整的服务器响应
if (http_request.status == 200) {
//HTTP服务器响应的值OK
requestdoc = http_request.responseText;
//将服务器返回的字符串写到页面中ID为message的区域
}
else {
requestdoc = http_request.status;
}
}
return requestdoc;
}
//获得Url 的responseXML

//代码片段
function getResponseXml(url)
{
http_request=getRequest();
http_request.open(‘GET’, url, false);
http_request.send(null);

if (http_request.readyState == 4)
{
// 收到完整的服务器响应
if (http_request.status == 200) {
//HTTP服务器响应的值OK
requestdoc = http_request.responseXML;
//将服务器返回的字符串写到页面中ID为message的区域
}
else {
requestdoc = http_request.status;
}
}
return requestdoc;
}

function TestAjaxJs()
{
http_request=getRequest();
http_request.open(‘GET’, “containjsText.aspx”, false);
http_request.send(null);

if (http_request.readyState == 4)
{
// 收到完整的服务器响应
if (http_request.status == 200) {
//HTTP服务器响应的值OK
requestdoc = http_request.responseText;
//将服务器返回的字符串写到页面中ID为message的区域
}
else {
requestdoc = http_request.status;
}
}
// debugger;
document.getElementById(“divJsText”).InnerHTML=requestdoc;
alert( document.getElementById(“divJsText”).InnerHTML);
var str;
str=document.getElementById(“divJsText”).InnerHTML.replace(/<script language=’javascript’>|<\/script>/,”);
str=str.replace(/<\/script>/,”);

alert(str);
eval(str);
// document.write(document.getElementById(“divJsText”).InnerHTML);
return false;
}

</script>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<div id=”divJsText” ></div>
<asp:Literal ID=”ltrJsText” runat=”server”></asp:Literal><asp:Label ID=”lblJsText” runat=”server”></asp:Label>
<asp:Button ID=”btnAjax” runat=”server” Text=”Ajax请求返回带有JS脚本的文本 JS脚本执行”  OnClientClick=”return TestAjaxJs();”/>
</div>
</form>
</body>
</html>

ContainJsText.aspx.cs 代码页面

两种情况:

(1)多个JS语句

namespace AjaxJsTestWeb
{
public partial class ContainJsText : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder jsText = new StringBuilder();
jsText.AppendLine(“<script language=’javascript’>function doit(){alert(‘哈哈,我执行了啊!’);alert(‘哈哈,我再次执行了啊!’);} doit();</script>”);
Response.Write(jsText.ToString().Trim());
Response.End();
}
}
}

(2) 就一个js语句

namespace AjaxJsTestWeb
{
public partial class ContainJsText : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder jsText = new StringBuilder();
jsText.AppendLine(“<script language=’javascript’>alert(‘哈哈,我执行了啊!’)</script>”);
Response.Write(jsText.ToString().Trim());
Response.End();
}
}
}

转自 http://www.taotechinfo.com/collect/2010724/n807115732.html

分类: 学习笔记 标签: , , ,

firefox 下<dt>标签与<h1>系列标签的问题

2009年8月5日 没有评论

最近调页面的时候遇到个问题.
IE,CHROME下显示很正常,但不管怎么调整在firefox下显示,<h2>标签内容都显示到<dt>标签外
最后发现原因如下:是在firefox下<dt>标签里不能加其它的标签h系列标签,dt已经有标题的意思了,没必要再加h1,dt内不能嵌套块级元素。

分类: 全部文章, 学习笔记 标签: , ,

一个好用的javascript日历-spiffyCal

2009年7月16日 没有评论

在做zencart二次开发的时候发现的一个javascript,特收藏一下
使用代码很简单

<html>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″>
<title>Calendar</title>
<link rel=”stylesheet” type=”text/css” href=”spiffyCal/spiffyCal_v2_1.css”>
<script type=”text/javascript” src=”spiffyCal/spiffyCal_v2_1.js”></script>
<script type=”text/javascript”>
var dateAvailable = new ctlSpiffyCalendarBox(“dateAvailable”, “new_product”, “products_date_available”,”btnDate1″,”");
</script>
</head>
<body>
<div id=”spiffycalendar” class=”text”></div>
<form name=”new_product”>
<table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”4″>
<tr class=”dataTableRow”>
<td align=”right”>上架日期:<br /><small>(YYYY-MM-DD)</small></td>
<td align=”left”>&nbsp;<script type=”text/javascript”>dateAvailable.writeControl(); dateAvailable.dateFormat=”yyyy-MM-dd”;</script> </td>
</tr>
</table>
</form>
</body>
</html>

spiffyCal.zip下载

css可扩展背景的标签

2009年5月12日 没有评论

其实原理也很简单:用

<li><a>标签</a></li>

做单个标签,然后给li和a分别设置背景,


li设为
li{
 margin:0 3px;
 padding:0;
 float:left;
 height:20px;
 background-image:url(“bg1.gif”);
 background-repeat:repeat-x;
 background-position:left bottom;
 
}
a设为
li a{
 display:inline-block;
 margin:0;
 padding:0 5px;
 background-image:url(“bg2.gif”);
 background-repeat:no-repeat;
 background-position:right bottom;
 height:20px;
}

不过li的背景从左往右展开,所以要够长,a的背景只要很短,放最右边就可以了

最终效果:

csstag

分类: 全部文章, 学习笔记 标签: ,

Dreamweaver插入Flash参数

2006年8月22日 没有评论

    参数和属性

    下列标记属性和参数描述了由“发布”命令创建的 HTML 代码。在编写自己的用于显示 Flash 内容的 HTML 时,可以参考此列表。除非特别说明,否则所有条目都同时适用于 object 标记和 embed 标记。可选条目也在此列出。Internet Explorer 可以识别用于 object 标记的参数,而 Netscape 则可以识别用于 embed 标记的参数。属性既可用于 object 标记,也可用于 embed 标记。当自定义模板时,可以用此处列出的模板变量替代相应的值。请参阅自定义 HTML 发布模板。

    注意:此部分中列出的属性和参数特意以小写字母显示,以符合 XHTML 标准。

    devicefont 属性/参数

    值: true | false    模板变量:$DE    说明:    (可选)对于未选定“设备字体”选项的静态文本对象,指定是否仍使用设备字体进行绘制(如果操作系统提供了所需字体)。

    src 属性

    值: movieName.swf    模板变量:$MO    说明 : 指定要加载的 SWF 文件的名称。仅适用于 embed。

    movie 参数

    值: movieName.swf    模板变量:$MO    说明: 指定要加载的 SWF 文件的名称。仅适用于 object。

    classid 属性

    值: clsid:D27cdb6e-ae6d-11cf-96b8-444553540000    说明: 标识浏览器的 ActiveX 控件。输入的值必须与上面的显示完全一致。仅适用于 object。

    width 属性

    值: n 或 n%    模板变量:$WI    说明:以像素值或浏览器窗口的百分比值来指定应用程序的宽度。

    height 属性

    值: n 或 n%    模板变量:$HE    说明: 以像素值或浏览器窗口的百分比值来指定应用程序的高度。

     注意:因为 Flash 应用程序是可缩放的,所以只要高宽比保持不变,不论以任何尺寸播放,它们的品质都不会降低。(例如,以下尺寸的高宽比都是 4:3:640 x 480 像素、320 x 240 像素和 240 x 180 像素。)

    codebase 属性

    值: active.macromedia.com/flash7/cabs/swflash.cab#version=7,0,0,0

    说明: 标识 Flash Player ActiveX 控件的位置,以便在尚未安装该控件时,浏览器可以自动下载它。输入的值必须与上面的显示完全一致。仅适用于 object。

    pluginspage 属性

    值: www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash    说明: 标识 Flash Player 插件的位置,以便在尚未安装该插件时,用户可以下载它。输入的值必须与上面的显示完全一致。仅适用于 embed 。

    swliveconnect 属性

    值: true | false    说明: (可选)指定第一次加载 Flash Player 时浏览器是否应启动 Java。如果忽略此属性,默认值为 false。如果在同一页面上同时使用 JavaScript 和 Flash,Java 必须处于运行状态,FSCommand() 函数才能起作用。但是,如果您运行 JavaScript 只是为了检测浏览器或用于其他与 fscommand() 动作无关的目的,则可以通过将 SWLIVECONNECT 设置为 false,从而防止 Java 启动。当没有将 JavaScript 和 Flash 一起使用时,也可以通过将 SWLIVECONNECT 属性明确设置为 true,强制 Java 启动。启动 Java 会显著增加启动 SWF 文件所需的时间,因此,只有在必要时才应将此标记设置为 true。仅适用于 embed。

    使用 fscommand() 动作可从独立的放映文件中启动 Java。

    play 属性/参数

    值: true | false    模板变量:$PL    说明:(可选)指定应用程序是否在浏览器中加载时就开始播放。如果您的 Flash 应用程序是交互式的,则可以让用户通过单击按钮或执行某些其他任务来开始播放。在这种情况下,将 play 属性设置为 false 可禁止应用程序自动开始播放。如果忽略此属性,默认值为 true。

    loop 属性/参数

    值: true | false    模板变量:$LO    说明: (可选)指定 Flash 内容在它到达最后一帧后是无限制重复播放还是停止。如果忽略此属性,默认值为 true。

    quality 属性/参数

    值: low | medium | high | autolow | autohigh | best    模板变量:$QU    说明: (可选)指定在应用程序回放期间使用的消除锯齿级别。因为消除锯齿需要更快的处理器先对 SWF 文件的每一帧进行平滑处理,然后再将它们呈现到观众屏幕上,所以需要根据要优化速度还是优化外观来选择一个值:

    “Low”使回放速度优先于外观,而且从不使用消除锯齿功能。

    “Autolow”优先考虑速度,但是也会尽可能改善外观。回放开始时,消除锯齿功能处于关闭状态。如果 Flash Player 检测到处理器可以处理消除锯齿功能,就会打开该功能。

    “Autohigh”在开始时是回放速度和外观两者并重,但在必要时会牺牲外观来保证回放速度。回放开始时,消除锯齿功能处于打开状态。如果实际帧频降到指定帧频之下,就会关闭消除锯齿功能以提高回放速度。使用此设置可模拟 Flash 中的“消除锯齿”命令(“查看”>“预览模式”>“消除锯齿”)。

    “Medium”会应用一些消除锯齿功能,但并不会平滑位图。该设置生成的图像品质要高于“Low”设置生成的图像品质,但低于“High”设置生成的图像品质。      “High”使外观优先于回放速度,它始终应用消除锯齿功能。如果 SWF 文件不包含动画,则会对位图进行平滑处理;如果 SWF 文件包含动画,则不会对位图进行平滑处理。

    “Best”提供最佳的显示品质,而不考虑回放速度。对所有输出都进行消除锯齿处理,并且对所有位图都进行平滑处理。

    如果忽略 quality 属性,其默认值为 high。

    bgcolor 属性/参数

    值: #RRGGBB(十六进制 RGB 值)    模板变量:$BG    说明: (可选)指定应用程序的背景色。使用此属性来覆盖在 Flash SWF 文件中指定的背景色设置。此属性不影响 HTML 页面的背景色。

    scale 属性/参数

    值: showall | noborder | exactfit    模板变量:$SC    说明: (可选)当 width 和 height 值是百分比时,定义应用程序如何放置在浏览器窗口中。

    “Showall”(默认值)使整个 Flash 内容显示在指定区域中,且不会发生扭曲,同时保持它的原始高宽比。边框可能会出现在应用程序的两侧。

    “Noborder”对 Flash 内容进行缩放以填充指定区域,不会发生扭曲,它会使应用程序保持原始高宽比,但有可能会进行一些裁剪。

    “Exactfit”使整个 Flash 内容显示在指定区域中,但不尝试保持原始高宽比。可能会发生扭曲。

    如果忽略此属性(而且 width 和 height 值是百分比)
,则它的默认值是 showall。

    align 属性

    值: Default | L | R | T | B     模板变量:$HA    说明: 指定 object、embed 和 img 标记的 align 值,并确定如何在浏览器窗口内放置 Flash SWF 文件。

    “默认”使应用程序在浏览器窗口内居中显示,如果浏览器窗口小于应用程序,则会裁剪边缘。

    L、R、T 和 B 让应用程序分别沿着浏览器窗口的左、右、上、下边缘对齐,并根据需要裁剪其余三边。

    salign 参数

    值: L | R | T | B | TL | TR | BL | BR     模板变量:$SA    说明: (可选)指定缩放的 Flash SWF 文件在由 width 和 height 设置定义的区域内的位置。有关这些条件的详细信息,请参阅scale 属性/参数。

    L、R、T 和 B 让应用程序分别沿着浏览器窗口的左、右、上、下边缘对齐,并根据需要裁剪其余三边。

    TL 和 TR 让应用程序分别与浏览器窗口的左上角和右上角对齐,并根据需要裁剪底边和剩余的右侧或左侧边缘。

    BL 和 BR 让应用程序分别与浏览器窗口的左下角和右下角对齐,并根据需要裁剪顶边和剩余的右侧或左侧边缘。

    如果忽略此属性,Flash 内容会在浏览器窗口中居中显示。

    base 属性

    值: 基本目录或 URL    说明: (可选)指定用于解析 Flash SWF 文件中的所有相对路径语句的基本目录或 URL。如果 SWF 文件保存在与您的其他文件不同的目录下,这个属性是非常有用。

    menu 属性/参数

    值: true | false    模板变量:$ME    说明: (可选)指定当观众在浏览器中右击 (Windows) 或按住 Command 键单击 (Macintosh) 应用程序区域时将显示的菜单类型。

    “true” 显示完整的菜单,让用户使用各种选项增强或控制回放。

    “false” 显示的是一个只包含“关于 Macromedia Flash Player 6”选项和“设置”选项的菜单。

    如果忽略此属性,默认值为 true。

    wmode 属性/参数

    值 : Window | Opaque | Transparent    模板变量:$WM    说明: (可选)使您可以使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示的功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。

    “Window”在 Web 页上用影片自己的矩形窗口来播放应用程序。“Window”表明 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。

     “Opaque” 使应用程序隐藏页面上位于它后面的所有内容。

    “Transparent”使 HTML 页的背景可以透过应用程序的所有透明部分进行显示,这样可能会降低动画性能。

    “Opaque windowless”和“Transparent windowless” 都可与 HTML 层交互,并允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于“Transparent”允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来。

    如果忽略此属性,默认值为 Window。仅适用于 object。

    allowscriptaccess 属性/参数

    值: always | never | samedomain    说明: 使用 allowscriptaccess 使 Flash 应用程序可与承载它的 HTML 页通信。此参数是必需的,因为 fscommand() 和 getURL() 操作可能导致 JavaScript 使用 HTML 页的权限,而该权限可能与 Flash 应用程序的权限不同。这与跨域安全性有着重要关系。

    always 允许随时执行脚本操作。

    never 禁止所有脚本执行操作。

    samedomain 只有在 Flash 应用程序来自与 HTML 页相同的域时才允许执行脚本操作。

    所有 HTML 发布模板使用的默认值均为 samedomain。

分类: 全部文章, 学习笔记 标签: ,