はじめまして。色々と試しましたが解決しませんでしたのでこちらに書き込みさせていただきます。解決方法がわかる方がいらっしゃいましたら、ご教示の程よろしくお願いいたします。
前提・実現したいこと
・AnimateCCからパブリッシュしたHTML5canvasです。
・仕様としては、ページに複数のボタンがあり、マウスオーバーでバルーンの説明が出て、クリックするとページ遷移するというものです。
・タッチデバイスの場合は一度タッチしてバルーンが表示され、表示されている状態であれば遷移するという仕組みです。
発生している問題・エラーメッセージ
・IE11でjabascriptが正常に動作しません。
・IE11以外はほとんどのブラウザで動作に問題なし。(Windows-Edge、chrome、firefox/Mac-safari、iPadOS-safari)
・マウスオーバーで表示されるはずのものが初めから全て表示されていて、さらにリンクが効かないという状態です。
・マウスオーバーでポインターは指マークになるのでボタンとしての認識はしている様子です。
・IE11のコンソールエラーは特になし
該当のソースコード
javascript
1そのままでは長すぎてアップできませんでした。
html
1<!DOCTYPE html> 2<!-- 3 NOTES: 4 1. All tokens are represented by '$' sign in the template. 5 2. You can write your code only wherever mentioned. 6 3. All occurrences of existing tokens will be replaced by their appropriate values. 7 4. Blank lines will be removed automatically. 8 5. Remove unnecessary comments before creating your template. 9--> 10<html> 11<head> 12<meta charset="UTF-8"> 13<meta name="authoring-tool" content="Adobe_Animate_CC"> 14<title>test4</title> 15<!-- write your code here --> 16<script src="https://code.createjs.com/1.0.0/createjs.min.js"></script> 17<script src="test4.js"></script> 18<script> 19var canvas, stage, exportRoot, anim_container, dom_overlay_container, fnStartAnimation; 20function init() { 21 canvas = document.getElementById("canvas"); 22 anim_container = document.getElementById("animation_container"); 23 dom_overlay_container = document.getElementById("dom_overlay_container"); 24 var comp=AdobeAn.getComposition("5FDE7BC209A410479D9DAFAC7D0A4B75"); 25 var lib=comp.getLibrary(); 26 var loader = new createjs.LoadQueue(false); 27 loader.addEventListener("fileload", function(evt){handleFileLoad(evt,comp)}); 28 loader.addEventListener("complete", function(evt){handleComplete(evt,comp)}); 29 var lib=comp.getLibrary(); 30 loader.loadManifest(lib.properties.manifest); 31} 32function handleFileLoad(evt, comp) { 33 var img=comp.getImages(); 34 if (evt && (evt.item.type == "image")) { img[evt.item.id] = evt.result; } 35} 36function handleComplete(evt,comp) { 37 //This function is always called, irrespective of the content. You can use the variable "stage" after it is created in token create_stage. 38 var lib=comp.getLibrary(); 39 var ss=comp.getSpriteSheet(); 40 var queue = evt.target; 41 var ssMetadata = lib.ssMetadata; 42 for(i=0; i<ssMetadata.length; i++) { 43 ss[ssMetadata[i].name] = new createjs.SpriteSheet( {"images": [queue.getResult(ssMetadata[i].name)], "frames": ssMetadata[i].frames} ) 44 } 45 exportRoot = new lib.test0625(); 46 stage = new lib.Stage(canvas); 47 stage.enableMouseOver(); 48 //Registers the "tick" event listener. 49 fnStartAnimation = function() { 50 stage.addChild(exportRoot); 51 createjs.Ticker.framerate = lib.properties.fps; 52 createjs.Ticker.addEventListener("tick", stage); 53 } 54 //Code to support hidpi screens and responsive scaling. 55 AdobeAn.makeResponsive(false,'both',false,1,[canvas,anim_container,dom_overlay_container]); 56 AdobeAn.compositionLoaded(lib.properties.id); 57 fnStartAnimation(); 58} 59</script> 60<!-- write your code here --> 61</head> 62<body onload="init();" style="margin:0px;"> 63 <div id="animation_container" style="background-color:rgba(255, 255, 255, 1.00); width:1024px; height:768px"> 64 <canvas id="canvas" width="1024" height="768" style="position: absolute; display: block; background-color:rgba(255, 255, 255, 1.00);"></canvas> 65 <div id="dom_overlay_container" style="pointer-events:none; overflow:hidden; width:1024px; height:768px; position: absolute; left: 0px; top: 0px; display: block;"> 66 </div> 67 </div> 68</body> 69</html>
試したこと
・IE11がjavascript有効になっているかどうか
→デフォルトで有効になっている。
・「’」が「`」になっていないかなどを確認 →特になし
・ユーザーエージェントでEdgeを指定 →同じ結果
・IE11がHtml5canvas対応ブラウザかどうか。→IE9より対応している
・IE11に対応していないjavascriptの仕様などを確認。
→手書き部分では使用していないのですが、Animateが自動的に書き出している部分で使用している可能性はあります。
https://teratail.com/questions/186126?link=qa_related_pc
こちらを参考にメタタグを入れてみましたが変化なしでした。
補足情報(FW/ツールのバージョンなど)
Windows10
問題の出ているInternet explorer11のバージョン
11.900.18362.0
Adobe Animate バージョン20.03
回答2件
あなたの回答
tips
プレビュー