Web页中使用MediaPlayer

 更新时间:2016年9月20日 19:05  点击:2041

  在Web页中嵌入Media Player的方法比较简单,只要用HTML中的<Object></Object>可以了,如下所示。

<OBJECT ID="WMPlay" WIDTH=320 HEIGHT=240
CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/
nsmp2inf.cab#Version=6,4,5,715"
STANDBY="Loading Microsoft? Windows Media? Player components..."
TYPE="application/x-oleobject">
</OBJECT>

  其中ID是对象的名称,当用户在JavaScript要对Media Player进行控制时可以用该对象的名称WMPlay进行访问。CODEBASE指明当用户的浏览器中没有安装Player控件时可以从该URL指定的位置去获取。

  当然在建立Player对象时也可以用<PARAM >来为其指定参数。如下所示:

<PARAM NAME="FileName" VALUE="C:ASFRootWelcome.asf">
<PARAM NAME="ShowControls" VALUE="False">
<PARAM NAME="AutoRewind" VALUE="True">
<PARAM NAME="AutoStart" VALUE="False">

  其中"FileName"参数表示Media Player要播放的文件活或流。"ShowControls"表示在播放时是否显示控制条。Media Player的参数很多,我们在此不再一一详述。读者如果需要了解更详细的内容可以参考Media Player SDK中的相关部分。

  如果用户需要对Media Player进行控制可以用JavaScript进行控制。

  在这个例子中,Media Player嵌入在Web页面中,在Media Player右边有一些按钮,利用这些按钮用户可以控制Media Player的播放活动。这些按钮的HTML代码如下:

<form name="myform">
<input type="button" width="15" value="No Controls " name="NoControls"
OnClick="controlType(false)">
<input type="button" width="15" value="All Controls" name="Full"
Onclick="controlType(true)">
<input type="button" width="15" value=" Small " name="Small"
OnClick="displaySize(1)">
<input type="button" value=" Large " name="Large"
Onclick="displaySize(2)">
<input type="button" width="15" value=" Normal " name="Normal"
Onclick="displaySize(0)">
<input type="button" width="15" value=" Play " name="Play"
Onclick="PlayClick()">
<input type="button" width="15" value=" Stop " name="Stop"
Onclick="StopClick()">
</form>

  相应的JavaScript代码为:

<script language="javascript">
<!--
var g_Browser = navigator.appName;
function controlType (setting)
{
if (g_Browser == "Netscape")
document.WMPlay.SetShowControls(setting);
else
document.WMPlay.ShowControls = setting;
}
function displaySize (setting)
{
if (g_Browser == "Netscape")
document.WMPlay.SetDisplay

<

原文出自:A List Apart
中文翻译:onestab [2004.01.25]

要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。

像素是计算机屏幕上的不可缩放的点,而一个 em 就是一个字大小的方块。由于字体大小的变化, em 代表用户喜欢的文字大小的相对单位。

采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。

也许你想你的网站以某种特定的方式显示,但是你的用户想看到的可能不一样。任何强加于用户的东西都不利于易用性,从而对网站的成功造成损害。

为了理解弹性设计,我们必须首先来看看一个似乎与此无关的问题 - 指定文字大小的几种方式。

弹性文本

显然文字是最容易实现的弹性设计的。能够设定喜欢的文字大小是用户最常见的要求,因此不可忽视。

亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 - 你我变老时就会成为他们的一员。使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。

如果设计者使用像素为单位指定文字大小,大多数的用户将无法缩放文字,因为 Internet Explorer 改变文字大小的方式与别的浏览器不同。Mozilla 和 Opera 可以缩放已经设定像素大小的文字,而Windows 下的IE却不能。

em 存在的问题

Em 似乎是进行文字相对大小设定时的单位,浏览器默认的文字高度是16像素,对大多数设计者来说太大了,不合他们的口味。要使用 em,设计者一般将文字的初始大小设为小于 1em。

例如:

body { font-size: 0.8em; }
h1 { font-size: 2em; }
p { font-size: 1em; }

看起来似乎可行,但有一个问题 - 如果你在 IE 中将“文字大小”设为“较小”或“最小”,文字就会小得难以阅读。由于 IE 如此普及, em 似乎不是可行的选择。

Jeffrey Zeldman过去曾经对此表示质疑,他认为尽管有其不利之处,以像素指定文字大小还是比用 em 好。这个结论是根据 Owen Briggs 所作的深入研究得出的。 Owen Briggs 测试了264种不同的文字缩放方法并演示了 em 之类的相对单位行不通。许多设计人员现在都用像素为单位指定文字大小,不是出于精确控制网页外观的需要,而是似乎没有更为合理的其他选择。

如此看来,要么是难看的大字体,要么无法缩放,好像无法两全。别着急,接着读下去。

另一种“大字体”后备样式

在与无法缩放的像素所带来的亲和力问题的战斗中,许多作者在他们的网页上使用了一种后备样式表的技术,可通过网页上的一个链接进行切换。

这种方法固然不错,但是如果和相对文字大小的措施(比如Wired News所提到的)一起使用,效果会更好。不能指望用户熟悉你的特有界面,用户一般对浏览器的界面更为熟悉,如果他们想看大一点的字体,更倾向于用浏览器来达到而不是用你的界面。而且他们更期望这种方法在各个网站都管用,不想每访问一个网站都改变一次。,比如 幸在网上找到Alexa的工作原理,遂产生萌念,作它一次弊!

·初探:
Alexa排名在前一两年,直至现在,都成了许多站长追求的目标之一,许多论坛的站长都要求他们的版主装上Alexa工具条,以提高自己的网站的排名。
本人在网上有幸看到一篇文章,说的是Alexa的两个DLL文件AlxTB1.dll、AlxRes.dll,其中AlxRes.dll里面放的是大量的脚本、图片、HTML等代码。有兴趣了解的可以到google.com或baidu.com去搜索一下"alexa dll"。

·设想:让网站的用户都安装alexa工具条。
如果你的站点提供一个功能,用户在线的时候,给用户加分,用户用这些分数,可以享受到你的网站提供的服务,那么,你可以设定这样一个机制:只要会员安装了alexa工具条,则在线的时候获得的分数将是没安装的alexa的两倍,或更多。

·问题:怎么判断用户是否安装了alexa工具条?
(转载请注明http://www.5217.cn)
要判断这个问题,只能通过网页脚本来进行,然后在用户登录时,把值送到服务器。经过本人摸索,AlxRes.dll中的资源,例如脚本,可以通过一个路径来访问,用编辑器打开这个DLL,可以看到所有的脚本。我们通过新建一个HTML页面,在<head>之间插入一个引用脚本资源的<script>,如下:

<script language="javascript" src="res://AlxRes.dll/SCRIPT/dsn.class.js"></script>
dsn.class.js是AlxRes.dll中的其中一个脚本资源,现在我们随便找这个资源里的一个function,只要它能运行就可以,我找到一个比较简单的:

function aborted()
{
return;
}
因为这个方法比较简单,调用也不容易出错。这就好办了,要判断用户端是否安装alexa工具条,写一段脚本:

<script language="javascript" src="res://AlxRes.dll/SCRIPT/dsn.class.js"></script>
<script language="javascript">
function doTryAlexa()
{
try
{
aborted();
return 1;
}
catch(e)
{
return 0;
}
}
</script>
... 下面来测试一下:

<input type="button" value="tryAlexa" onclick="alert(doTryAlexa())">
如果安装了,提示1,没安装就提示2。

·作弊!
在用户登录页,写上上面的脚本,在页面里放一个隐藏输入域和一段脚本:

<input type="hidden" id="IsAlexaUser" runat=server><script>document.getElementById("IsAlexaUser").value=doTryAlexa()</script>
用户登录后,将值存到数据库中的在线表,或Session中……

·效果:如果能保证每天有200个左右的alexa傀儡在你的网站上比较频繁地活动,5000名以上的排名。


Q1: Alexa是通过什么来计算流量的?
A1: 其实在Alexa的网站上已经说了很清楚了,Alexa通过安装Alexa Toolbar的IE用户的反馈信息来进行统计的。并非有些人所说:Alexa会计算所有穿梭于Internet上的WEB流量,要做到这一点显然是不可能的。

Q2: Alexa Toolbar的工作原理是怎样的?
A1: Alexa Toolbar是通过BHO技术和Toolbar Bands技术来监视IE行为的,IE浏览器的地址栏的每一次变化都逃不过Alexa的法眼。不过处于安全性考虑,Alexa Toolbar不会统计用户的HTTPS协议的流量。Alexa Toolbar其实就是向>http://data.alexa.com发送HTTP请求来发出用户浏览信息的,这个请求的格式我已经破解了。

Q3: Alexa排名真的可以作弊吗?
A3: 绝对可以。但是现在你能在网上搜索到的作弊方法和作弊工具都是无效的。比如有一种方法说能通过MYIE这样的浏览器来刷排名,显然此文的作者并不懂Alexa Toolbar的工作原理,MYIE是不会加载Alexa Toolbar的。AlexaBooster也不行,因为它忽视了aid的生成算法,以及cookie的作用。

Q4: Alexa会识别作弊行为吗?
A4: Alexa有一套算法来判断收到的信息是否有伪造的嫌疑。

Q5: Alexa会像google一样对作弊行为进行惩罚吗?
A5:Alexa不像google,它的信息来源Alexa Toolbar的用户,而非网站自身,这些数据的真实性是无法保证的。仅凭这些不可靠的数据而对一个网站进行惩罚是不可能的,因为很有可能有人恶意伪造某个站点的虚假信息来使Alexa惩罚该网站。但是Alexa会忽略有作弊嫌疑的IP发出的数据。


Q6: 网页的自动跳转和自动刷新能提高Alexa排名吗?
A6: 你可以在Alexa的网站上找到这么一句话:“Multiple page views of the same page made by the same user on the same day are counted only once.”。所以通过刷新页面来提高访问量是不可行的。而所谓的自动跳转就是:在用户点击一个连接后,先跳转到一个假页面,这个假页面会在1秒或几秒后跳转到真正的目标页面。这种方法看似可行,但是必须考虑加载Alexa Toolbar所需的时间,太短的话Alexa Toolbar是不会发送信息的,改善的方法就是不要在新窗口中打开连接,这样能避免新的IE窗口因加载Alexa Toolbar所耗费的时间

  现在很多的网页设置了禁用鼠标右键,使很多的人没有办法继续操作,现在教你几招,让你轻松破解。

  1、在网页上任意处将右键按下,等跳出对话框时不要放开右键,将鼠标移至对话框,用鼠标左键点“确定”,在将鼠标移动到想要的连接处,放开右键!OK

  2、同“1”,只是将鼠标移至对话框,用回车去“确认”!

  3、用组合键“CTRL+F10”!

  4、在页面中点击右键,当出现警告窗口时,左手按键盘上的CTRL+F4键关闭提示窗口! ————以上的方法适用于仅禁用而没有隐藏右键菜单的网页————

  5、先用鼠标左键进入该页,记录下该页地址,用下载工具“添加新任务”强行下载!(该方法适用于可以打开的连接)

  6、同“4”,但是可以查看网页源代码,找到该连接后用下载工具“添加新任务”强行下载!(该方法适合比较简单的网页)

  7、可以将该网页“另存”到硬盘上,修改后直接下载!(此法适用于有主页基础的人)

  8、在IE设置禁用所有的脚本文件,大胆下载后在改回原来的设置!(此方法适用于对IE设置较了解的老鸟)

  9、直接将想要的图片用左键拖着,然后按下WIN+D键,这样一来就可以拖到桌面上保存!(此方法适用于单手操作较灵活的同志)

  10、查看源代码如果发现用了这样的代码:

  <script>

  function stop(){

  alert('XXXX,XXXX!');

  return false; }

  document.oncontextmenu=stop;

  </script>

  你可以在地址栏键入:javascript:alert(document.oncontextmenu='')回车,确定对话匡后,直接使用右键!




[!--infotagslink--]

相关文章

  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • Springboot如何实现Web系统License授权认证

    这篇文章主要介绍了Springboot如何实现Web系统License授权认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-28
  • C#使用Http Post方式传递Json数据字符串调用Web Service

    这篇文章主要为大家详细介绍了C#使用Http Post方式传递Json数据字符串调用Web Service,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • openlayers6之地图覆盖物overlay详解

    overlay就是在地图上以另外一种形式浮现在地图上,常见的地图覆盖物为这三种类型,如:popup 弹窗、label标注信息、text文本信息等,接下来跟随小编看下openlayers6之地图覆盖物overlay详解,一起看看吧...2021-09-15
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合...2014-05-31
  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 如何使用php脚本给html中引用的js和css路径打上版本号

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、...2015-11-24
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • C#注释的一些使用方法浅谈

    C#注释的一些使用方法浅谈,需要的朋友可以参考一下...2020-06-25
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • InterlliJ IDEA2020新建java web项目找不到Static Web的解决

    这篇文章主要介绍了InterlliJ IDEA2020新建java web项目找不到Static Web的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-02
  • php语言中使用json的技巧及json的实现代码详解

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识...2015-10-30
  • 使用jquery修改表单的提交地址基本思路

    基本思路: 通过使用jquery选择器得到对应表单的jquery对象,然后使用attr方法修改对应的action 示例程序一: 默认情况下,该表单会提交到page_one.html 点击button之后,表单的提交地址就会修改为page_two.html 复制...2014-06-07
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • php类的使用实例教程

    php类的使用实例教程 <?php /** * Class program for yinghua05-2 * designer :songsong */ class Template { var $tpl_vars; var $tpl_path; var $_deb...2016-11-25
  • 双冒号 ::在PHP中的使用情况

    前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况!双冒号操作符即作用域限定操作符Scope Resoluti...2015-11-08