[Flash] 解决在 IE 中 Flash 影片会被要求按一下按钮的问题
或许你也曾发现嵌在网页中的 Flash 影片(如果你不清楚如何在网页中嵌入 Flash 影片的话,可以参考“在网页中插入影片 ”一文),当呈现在 IE 浏览器里时,会出现要求你按一下让影片才能启动的问题。这篇文章就是解决该问题的方法...
这是微软的 Knowledge Base 中所发表的文章: http://support.microsoft.com/default.aspx?scid=kb;zh-tw;555662&sd=rss&spid=6351
在这个文章中解释了如何解决我在标题中所说明的问题。也就是说,或许你也曾发现嵌在网页中的 Flash 影片(如果你不清楚如何在网页中嵌入 Flash 影片的话,可以参考“在网页中插入影片 ”一文),当呈现在 IE 浏览器里时,会出现要求你按一下让影片才能启动的问题。这篇文章就是解决该问题的方法。
做法很简单,就是套用一道 JavaScript 命令来输出 这道 HTML 命令,而且不能直接输出,而是要写在外部 .js 程序中。
以下是详细的步骤:
- 从 VS2005 中加入一个 Jscript 程序,例如名为 Mainshow.js
-
把原来的
命令包在 document.writeln 命令中 -
从 .aspx 程序中,将原来的
命令改掉,让它变成 而 Mainshow.js 的内容则是:
document.writeln('');
请注意,我试过将 document.writeln... 写在 里面,结果无效。我也试过将 JavaScript 命令写成 才会生效。当然,我并不知道原因出在哪里。
我所使用的测试环境是 .NET Framework 2.0。
Re: [Flash] 解决在 IE 中 Flash 影片会被要求按一下按钮的问题
在上面所采用的解决方案中,我们虽然解决了主要的问题,但实际上还有另一个恼人的问题存在,那就是当开发端和服务器端网站根目录不一致的时候,所产生位址差异的现象。譬如说,我们在开发端使用的网站根目录是 "/Solution" 而服务器端为 "/"。对于普通的网页控件,我们可以使用 ResolveUrl 来取得网页的实际位址,例如:
但是对于已经放置于 .js 中的 .swf 文件,我们就没办法从服务器端克服这个问题。因为 .js 并非 ASP.NET 支持的文件类型,我们无法对它撰写服务器端程序。但是有一个非常简单的解决方案,那就是将 .js 以 HttpHandler 程序来产生。
HttpHandler 称为“泛型处理常式”,您可以在网站中加入这个项目,其副文件是 .ashx。一般而言,.ashx 通常被用来输出 XML 或图片(像是计数器)。不过它也可以输出各种 MIME 类型的文档(请参考“条列各种 MIME 文件类型”一文),当然包括文档格式的文件。
以下我们先来看看范例程序:
<%@ WebHandler Language="VB" %>
Imports System
Imports System.Web
Public Class ShowFlash : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim requestedSource As String = HttpContext.Current.Request("source")
Dim requestedHeight As Integer = HttpContext.Current.Request("height")
Dim requestedWidth As Integer = HttpContext.Current.Request("width")
Dim source As String = HttpContext.Current.Request.ApplicationPath & requestedSource
Dim script As String = _
""
Dim sReturn As String = "document.write('" & script & "');"
context.Response.ContentType = "text/plain"
context.Response.Write(sReturn)
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return True
End Get
End Property
End Class
如果您去调用这个程序,它会直接输出文字,就像你去读取文字档一样。所以你可以将
请注意, 我让 ShowFlash.ashx 接收三个参数,其中一个是 .swf 的实际位置,其它两个则是这段影片的宽度与深度。使用这种方法,你以后就不需要为每个 Flash 影片撰写 .js 程序了。
此外,如果你留意的话,我把
后记: 这篇文章是在 2006 年发表的, 距今已有一段时间, 各个浏览器也都已经有更新的版本, 或许以上所提供的解法已经不一定适用了。
Dev 2Share @ 点部落
原文:大专栏 [Flash] 解决在 IE 中 Flash 影片会被要求按一下按钮的问题
原文地址:https://www.cnblogs.com/petewell/p/11465813.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux工作目录切换命令
- Linux常用工作命令
- C语言之二级指针
- 七夕如何向心爱的ta表白,看这里
- 七夕面向对象编程,你知道Java有哪些创建对象的方式吗?
- 微信小程序结合腾讯地图获取用户所在城市信息
- 设置事务超时时间的问题及Oracle数据库update和锁
- 超赞,压缩20M文件从30秒到1秒的优化过程
- 超赞,给你推荐20个使用 Java CompletableFuture的例子!
- Java入门编程练习题
- Spark UDF加载外部资源
- Flink SQL FileSystem Connector 分区提交与自定义小文件合并策略
- Facebook面试题: 用递归和迭代手写Array.prototype.flat()
- Kubernetes插件之ip-masq-agent
- 抽丝剥茧Kotlin - 协程