我尝试创建一个页面,在那里它以全尺寸显示一个flash元素,但是当我在一个较小的屏幕上查看该站点时,我想触发回退。
这对我不起作用,因为浏览器支持flash。
我找不到手动切换回退的方法。
发布于 2012-12-05 05:20:43
回退不能手动触发,但如果不满足某些条件,您可以阻止SWF加载。在您的示例中,您说只有在视区满足指定的最小大小时才需要嵌入SWF。
如果您尝试在初始页面加载时加载SWF,只需执行以下操作:
//Viewport function based on
//http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/
function GetViewportDimensions(){
var de = document.documentElement,
b = document.getElementsByTagName('body')[0],
w = window.innerWidth || (de && de.clientWidth) ? de.clientWidth : b.clientWidth,
h = window.innerHeight || (de && de.clientHeight) ? de.clientHeight : b.clientHeight;
return { width: w, height: h };
}
swfobject.addDomLoadEvent(function(){
var actualDimensions = GetViewportDimensions(),
minimumWidth = 600,
minimumHeight = 500;
if(actualDimensions.width >= minimumWidth && actualDimensions.height >= minimumHeight){
swfobject.embedSWF("mymovie.swf", "flashcontent", "550", "400", "9");
} else {
//do nothing, use fallback
}
});仅当视区足够大时,此代码才会尝试嵌入SWF。如果闪存不存在,swfobject.embedSWF将失败,而您的备用内容将保留在原地。
发布于 2012-12-04 17:16:24
如果它只是为了测试目的,你可以注释这一行:
swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");使用2个正斜杠
// swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");更新:
if (swfobject.getQueryParamValue("noflash") != "true")
swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");然后,您可以使用新的url测试:
www.yourwebsite.com/?noflash=true
https://stackoverflow.com/questions/13699170
复制相似问题