像大多数人一样,我使用SWFObject将Flash(swf)文件嵌入到我的Web项目中.
如您所知,SWFObject提供了两种嵌入Flash的方法:静态发布和动态发布.
静态发布使用常规标记将文件嵌入到文档中,并且还使用仅使用常规标记无法进行的JavaScript检查.这很好,好像你有无法打开JavaScript的客户(搜索引擎,一些便携式设备......),文件仍会显示(如果他们安装了正确的Flash插件).但是如果你有遗留/未修补的Internet Explorer上的人(2006年4月到2008年4月),他们将有可怕的"点击激活"与Flash进行交互.
动态发布使用JavaScript嵌入Flash.这将摆脱旧IE上的"点击激活"功能,但如果JavaScript关闭,Flash将根本不存在.
这两种方法都有其优点和不便之处.在一个乌托邦世界中,我们都会使用动态发布方法,但是我们(或者至少我们中的一些人)喜欢使用IE 6的旧系统(他们想要升级,但他们不能因为非常糟糕)设计软件,升级费用为10K + $).我需要支持旧版IE,并希望摆脱"点击激活"功能,同时支持关闭JavaScript的人.
那么结合静态和动态发布方法呢?怎么样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject 2 static+dynamic publishing example page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("test.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf");
</script>
</head>
<body>
<div id="myContent">
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="120">
<param name="movie" value="test.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="test.swf" width="300" height="120">
<!--<![endif]-->
<div>
<h1>Alternative content</h1>
<p><a href="http://www.adobe.com/go/getflashplayer"><img …Run Code Online (Sandbox Code Playgroud) 我有一个A类,一个B类延伸A.
在另一个类CI中有一个字段
private List<B> listB;
Run Code Online (Sandbox Code Playgroud)
现在,由于一些不寻常的原因,我必须在C中实现此方法
public List<A> getList();
Run Code Online (Sandbox Code Playgroud)
我试图通过强制将ListB字段的upcast <A>通过List 强制转换为List 来实现<?>:
public List<A> getList(){
return (List<A>)(List<?>)listB;
}
Run Code Online (Sandbox Code Playgroud)
客户应该这样做
List<A> list = getList();
for(A a:list){
//do something with a
}
Run Code Online (Sandbox Code Playgroud)
我做了一些测试,似乎工作正常,但老实说,我不确定所有可能的影响.
这个解决方案是否正确 它是最好的解决方案吗?
谢谢你的回答.
oracle如何处理多个用户在同一数据对象上执行的dml语句?假设,
如果有一个名为空的表EMP(empname varchar2(30)),则用户' A'进入该表
使用,
insert into emp values('A');
Run Code Online (Sandbox Code Playgroud)
但尚未承诺.
如果另一个用户' B'登录到同一个数据库提交,他/她是否会看到由' A' 执行的dml操作(即表中的' A' EMP)?
将非常感谢与此主题相关的其他方案/链接.提前致谢.
我正在经历一些练习问题,我看到了这段代码:
#include <stdio.h>
#include <string.h>
int main(void) {
char* s = "357";
int sum = 0;
int i = 0;
for (i = 0; i < strlen(s); i++) {
sum += s[i] - 48;
}
printf("Sum is %d", sum);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释代码的作用,尤其是48部分的减法吗?
我是C#新线程的新手.有没有为线程设置超时而不阻塞调用线程(在C#3.5中)?
如果没有,使用线程执行函数是否合乎逻辑,并且在该函数内创建一个线程并加入它来克服这个主线程阻塞问题?为了显示:
代替:
Public void main()
{
...
Thread thrd1 = new Thread(new ThreadStart(targetObj.targetFunc));
thrd1.Start();
thrd1.Join();
...
}
Run Code Online (Sandbox Code Playgroud)
使用类似的东西:
Public void main()
{
...
Thread thrd1 = new Thread(new ThreadStart(middleObj.waiter));
thrd1.Start();
...
}
//And in the middleObj.waiter():
Public void waiter()
{
Thread thrd2 = new Thread(new ThreadStart(targetObj.targetFunc));
thrd2.Start();
thrd2.Join();
}
Run Code Online (Sandbox Code Playgroud) 我已经做了大约20年的开发人员,大约5年前做了一些C#.
你会说什么Visual Studio插件我不能/不应该没有?他们可以帮助:
语言构造.Net Framework生成存根代码以加快速度
谢谢!
我想知道应该使用线程池的边缘在哪里.我可以在不使用线程池的情况下每秒创建多少个新线程,仍然可以避免明显的性能损失?
是否有任何可观察的开源线程池实现?
简短的版本:为什么我不必强制60和int,进入一个double,这样如果我关心小数部分,我可以使用另一个double的除法?
长版本:我的老板用一行代码打电话给我.我测试了它并且它工作得很好,但他认为我有一个等待发生的错误.
int durationinseconds = 61; // This is actually filled from a double.tryparse
// from a string value out of an xml doc.
int durationinminutes = (int)Math.Ceiling((double)durationinseconds / 60);
Run Code Online (Sandbox Code Playgroud)
我的代码应该从XML文档获得#秒,然后计算出分钟数,总是向上舍入.60秒= 1分钟,61秒= 2分钟等
我已经测试了我的代码,但是他确认"/ 60"部分应该是"/ 60.0".
我用0,1,2,59,60,61,119,120,121,599,600,601等测试了我的代码,它总能正常工作.
在我为自己辩护之前,我大多理解为什么他认为我需要强制60为小数,因为他认为如果我使用int值,那么double/int将导致一个整数值,从而有效地降低了分数部分.
但是,这不会发生,我无法解释原因.所以,这是我的问题:如果我想使用小数部分,为什么我不能在分割双倍时使用60.0?
我正在使用DataSet从Microsoft SQL Server检索数据.我是否需要显式关闭连接(或底层SqlDataAdapter自动关闭连接)?
我总是使用DataReader(使用),但第一次使用DataSet - 这就是为什么想知道最佳实践.提前致谢.
我正在阅读"清洁代码"这本书,并且正在努力解决这个问题.在讨论对象和数据结构时,它指出以下内容:
所以,我从中获得的是我不应该在我的对象上有任何公共属性,我应该只有对属性执行操作的方法.如果我确实需要访问属性,它们应该在数据结构上,可以从我对象上的方法返回?使用这种方法,似乎我需要为我的对象上的Height属性使用GetHeight()和SetHeight()方法,而不是仅使用属性的get和set.
也许我不明白究竟是什么建议,但这是我对" 对象隐藏他们的数据 "的理解.如果你能帮助我理解这一点,我将非常感激!
提前致谢!
c# ×5
java ×2
.net ×1
abstraction ×1
ado.net ×1
ascii ×1
c ×1
char ×1
collections ×1
commit ×1
concurrency ×1
database ×1
double ×1
encoding ×1
flash ×1
generics ×1
javascript ×1
object ×1
oracle ×1
performance ×1
properties ×1
swfobject ×1
threadpool ×1
transactions ×1
wildcard ×1