画布回退到闪存正在加载图像
Canvas fallback to flash is loading images
在我的网站上,我用flash显示广告
我仍然使用flash,因为我的访问者使用不支持html5的旧浏览器
如果用户没有 Flash 支持,我会展示全屏广告
如果用户没有 Flash 支持或没有画布支持,我会向他们展示图像
这是我的代码:
<p>
<object width="728" height="90" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="alter-content" align="middle">
<param value="http://www.bellezaculichi.com/banners/47.swf" name="movie">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="play" value="true">
<param name="loop" value="true">
<param name="wmode" value="window">
<param name="scale" value="showall">
<param name="menu" value="false">
<param name="devicefont" value="false">
<param name="salign" value="">
<param name="allowScriptAccess" value="always">
<!--[if !IE]>-->
<object data="http://www.bellezaculichi.com/banners/47.swf" width="728" height="90" type="application/x-shockwave-flash">
<param name="movie" value="http://www.bellezaculichi.com/banners/47.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="play" value="true">
<param name="loop" value="true">
<param name="wmode" value="window">
<param name="scale" value="showall">
<param name="menu" value="false">
<param name="devicefont" value="false">
<param name="salign" value="">
<param name="allowScriptAccess" value="always">
<!--<![endif]-->
<!-- inicia sin flash -->
<script>
window.onload = function() {
canvasApp();
}
function canvasApp() {
var mi_canvas = document.getElementById("canvas");
if (!mi_canvas || !mi_canvas.getContext) {
return;
}
var context = mi_canvas.getContext("2d");
var pic = new Image();
pic.src = "./banners/" + 47 + ".jpg";
pic.addEventListener('load', imagen_cargada, false);
function imagen_cargada() {
dibuja_canvas();
}
function dibuja_canvas() {
context.drawImage(pic, 0, 0, 728, 90);
}
function onMouseClick(e)
{
window.open("http://www.si-net.com.mx/registro.php", '_blank');
}
mi_canvas.addEventListener("click", onMouseClick, false);
dibuja_canvas();
}
</script>
<canvas id="canvas" width="728" height="90" style="cursor:pointer;">
<!-- si no soporta canvas -->
<a href="http://www.si-net.com.mx/registro.php" target="_blank" rel="nofollow">
<img src="./banners/47.jpg" width="728" height="90" border="0">
</a>
<!-- si no soporta canvas -->
</canvas>
<!-- fin sin flash -->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</p>
它有效...
我使用谷歌浏览器开发人员工具进行测试,我发现使用flash的人加载画布回退中使用的图像
如果用户有 flash,则无需加载画布中使用的图像...
如果用户有 flash,如何避免加载画布中使用的图像?
提前谢谢你
我实现了我想要的。如果用户安装了 Flash,我避免加载画布资源。
这是我的代码:
<object width="900" height="506" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="alter-content" align="middle">
<param value="catarina.swf" name="movie" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object data="catarina.swf" width="900" height="506" type="application/x-shockwave-flash">
<param name="movie" value="catarina.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="sameDomain" />
<!--<![endif]-->
<!-- inicia sin flash -->
<div id="swiffycontainer" style="width: 550px; height: 400px">
</div>
<script>
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (fo) {
hasFlash = true;
}
} catch (e) {
if (navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'] != undefined && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {
hasFlash = true;
}
}
if (hasFlash == false) {
function load_animacion() {
var animacion = document.createElement("script");
animacion.type = "text/javascript";
animacion.src = "catarina-v02.js";
document.head.appendChild(animacion);
}
function loadSwiffy() {
var animacion_canvas = document.createElement("script");
animacion_canvas.type = "text/javascript";
animacion_canvas.src = "https://www.gstatic.com/swiffy/v7.2.0/runtime.js";
if (animacion_canvas.readyState) {
animacion_canvas.onreadystatechange = function() {
if (animacion_canvas.readyState == "loaded" || animacion_canvas.readyState == "complete") {
animacion_canvas.onreadystatechange = null;
load_animacion();
}
};
} else {
animacion_canvas.onload = function() {
load_animacion();
};
}
document.head.appendChild(animacion_canvas);
}
window.onload = loadSwiffy;
// carga la libreria de swiffy
}
</script>
<!-- fin sin flash -->
<!--[if !IE]>-->
</object>
<!--<![endif]-->
如果用户没有 Flash 支持,它会动态加载创建 CANVAS 动画所需的 javascript 代码。
在此示例中,首先加载 SWIFFY 库 (https://www.gstatic.com/swiffy/v7.2.0/runtime.js)
加载库后,加载 js 代码 (catarina-v02.js) 以创建和动画画布
这样,如果用户安装了 Flash,我就避免了加载画布资源。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 当一次加载所有文件时,是否有来自阵列的10个随机闪存文件显示在页面上?(在javascript中)
- 赢得 10 通用应用程序与科尔多瓦尝试加载闪存
- 对于没有Javascript的人来说,在加载jQuery之前会闪过
- XHR无法加载
没有& # 39;Access-Control-Allow-Origin& # 39;标头存在于 - 如何避免闪出造成的Javascript延迟时,页面加载在Chrome上
- 画布回退到闪存正在加载图像