收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1354|回复: 3

[其它] 问个嵌入问题。。[已解决]

[复制链接]
发表于 2010-12-8 15:55:12 | 显示全部楼层 |阅读模式
就是flash中可以嵌入js代码吗。。如果可以的可。。要如何嵌入。。望高手知个招。。
发表于 2010-12-8 16:09:22 | 显示全部楼层
 可以!

比如
  1. package
  2. {

  3.     public class JSScripts extends Object
  4.     {
  5.         public static var GET_FLASH_ID:XML = <script><![CDATA[
  6.                         function(swfFullPath) {
  7.                                
  8.                                 var getFileName = function(fullPath) {
  9.                                         var ary =  fullPath.split("/");
  10.                                         var fileName = ary[ary.length-1].split(".swf")[0];
  11.                                         return fileName;
  12.                                 }
  13.                                
  14.                                 var ensureId = function(node) {
  15.                                         if (node.attributes["id"] == null) {
  16.                                                 node.setAttribute("id",'swf'+new Date

  17. ().getTime());
  18.                                         }
  19.                                 }
  20.                                
  21.                                 var matchesTarget = function(fullPath) {
  22.                                         return (getFileName(fullPath) == targetSwfName);
  23.                                 }
  24.                                
  25.                                 var targetSwfName = getFileName(swfFullPath);
  26.                                 //Look through the embed nodes for one that matches our

  27. swf name
  28.                                 var nodes = document.getElementsByTagName("embed");
  29.                                 for (var i=0; i < nodes.length; i++) {
  30.                                         //Parse just the SWF file name out of the whole

  31. src path and check if it matches
  32.                                         if (matchesTarget(nodes[i].attributes

  33. ["src"].nodeValue)) {
  34.                                                 ensureId(nodes[i]);
  35.                                                 return nodes[i].attributes

  36. ["id"].nodeValue;
  37.                                         }
  38.                                 }
  39.                                
  40.                                
  41.                                 //If we haven't found a matching embed, look through the

  42. object nodes
  43.                                 nodes = document.getElementsByTagName("object");
  44.                                 for (var j=0; j < nodes.length; j++) {
  45.                                         //Check if the object tag has a data node
  46.                                         if (nodes[j].attributes["data"] != null) {
  47.                                                 if (matchesTarget(nodes[j].attributes

  48. ["data"].nodeValue)) {
  49.                                                         ensureId(nodes[j]);
  50.                                                         return nodes[j].attributes

  51. ["id"].nodeValue;
  52.                                                 }
  53.                                         }
  54.                                        
  55.                                         //Grab the param nodes out of this object, and

  56. look for one named "movie"
  57.                                         var paramNodes = nodes[j].getElementsByTagName

  58. ("param");
  59.                                         for (var k=0; k < paramNodes.length; k++) {
  60.                                                 if (paramNodes[k].attributes

  61. ["name"].nodeValue.toLowerCase() == "movie") {
  62.                                                         if (matchesTarget(paramNodes

  63. [k].attributes["value"].nodeValue)) {
  64.                                                                 ensureId(nodes[j]);
  65.                                                                 return nodes

  66. [j].attributes["id"].nodeValue;
  67.                                                         }
  68.                                                 }
  69.                                         }
  70.                                        
  71.                                 }
  72.                                
  73.                                 return null;
  74.                         }
  75.                         ]]></script>;
  76.         public static var INSERT_BROWSER_HACKS:XML = <script><![CDATA[
  77.                         function (containerId,browserHacks) {
  78.                                
  79.                                 var objNode = document.getElementById(containerId);
  80.                                 if (objNode.nodeName.toLowerCase() == "div") return;
  81.                                
  82.                                 //If you make the mistake of naming the object and embed

  83. nodes with the same id, firefox will get confused
  84.                                 if (        ((navigator.userAgent.toLowerCase().indexOf

  85. ("firefox") != -1) ||
  86.                                                 (navigator.userAgent.toLowerCase

  87. ().indexOf("opera") != -1)) &&
  88.                                                 (objNode.nodeName.toLowerCase() ==

  89. "object") &&
  90.                                                 (browserHacks.indexOf("uniqueId") != -1)
  91.                                                 ) {
  92.                                        
  93.                                         //Check if we have an embed tag inside of us, if

  94. so, ignore the obj tag
  95.                                         var newNode = objNode.getElementsByTagName

  96. ("embed")[0];
  97.                                         if (newNode != null) {
  98.                                                 newNode.setAttribute

  99. ("id",objNode.attributes["id"].nodeValue);
  100.                                                 objNode.attributes["id"].nodeValue += new

  101. Date().getTime();
  102.                                                 objNode.attributes['width'].nodeValue =

  103. "auto";
  104.                                                 objNode.attributes['height'].nodeValue =

  105. "auto";
  106.                                                 objNode.style.width = "";
  107.                                                 objNode.style.height = "";
  108.                                                 objNode = newNode;
  109.                                         }
  110.                                        
  111.                                 }
  112.                                
  113.                                 //All of the browsers but IE seem to put a margin

  114. underneath all object/embed tags.
  115.                                 //Seems like a bug, but it's suspicious that it's a

  116. problem in all browsers but IE.
  117.                                 if (        (navigator.userAgent.toLowerCase().indexOf("msie")

  118. == -1) &&
  119.                                                 (browserHacks.indexOf("marginBottom") !=

  120. -1)
  121.                                                 ) {
  122.                                         if (navigator.userAgent.toLowerCase().indexOf

  123. ("opera") != -1) {
  124.                                                 objNode.style.marginBottom = "-4px";
  125.                                         } else {
  126.                                                 objNode.style.marginBottom = "-5px";
  127.                                         }
  128.                                 }
  129.                                
  130.                                
  131.                                
  132.                                 //IE has a bug where it doesn't respect the min-

  133. height/max-width style settings on an object tag
  134.                                 //To work around this, we reparent the object tag into a

  135. div, and use the ref to the div instead.
  136.                                 if (        (navigator.userAgent.toLowerCase().indexOf("msie")

  137. != -1) &&
  138.                                                 (objNode.nodeName.toLowerCase() ==

  139. "object") &&
  140.                                                 (browserHacks.indexOf("IEReparent") != -1)
  141.                                                 ) {
  142.                                        
  143.                                         //Insert a parent div above the object node
  144.                                         divNode = document.createElement('div');
  145.                                         objNode.parentNode.insertBefore(divNode,objNode);
  146.                                         objNode.attributes['id'].nodeValue = "swf"+(new

  147. Date().getTime()); //Rename the object id
  148.                                         divNode.setAttribute('id',containerId);
  149.                                         divNode.appendChild(objNode);
  150.                                        
  151.                                         //Set the parent div to the size of the object

  152. node, and the object node to 100%
  153.                                         var getFormattedValue = function(val) {
  154.                                                 if ((val.indexOf("px") == -1) &&

  155. (val.indexOf("%") == -1)) return val+"px";
  156.                                                 return val;
  157.                                         }
  158.                                         divNode.style.width = getFormattedValue

  159. (objNode.attributes['width'].nodeValue);
  160.                                         divNode.style.height = getFormattedValue

  161. (objNode.attributes['height'].nodeValue);
  162.                                         objNode.attributes['width'].nodeValue = "100%";
  163.                                         objNode.attributes['height'].nodeValue = "100%";
  164.                                 }
  165.                                
  166.                         }
  167.                         ]]></script>;
  168.         public static var RESIZE_CONTAINER:XML = <script><![CDATA[
  169.                         function

  170. (containerId,width,height,minWidth,minHeight,maxWidth,maxHeight) {
  171.                                 var objNode = document.getElementById(containerId);
  172.                                 objNode.style.width = width;
  173.                                 objNode.style.height = height;
  174.                                 objNode.style.minWidth = minWidth;
  175.                                 objNode.style.minHeight = minHeight;
  176.                                 objNode.style.maxWidth = maxWidth;
  177.                                 objNode.style.maxHeight = maxHeight;
  178.                                 objNode.attributes.width.nodeValue = width;
  179.                                 objNode.attributes.height.nodeValue = height;
  180.                         }
  181.                         ]]></script>;

  182.         public function JSScripts()
  183.         {
  184.             return;
  185.         }

  186.     }
  187. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-8 17:32:41 | 显示全部楼层
那这个东西要怎么插入哪。。我不知道往哪放。。直接放动作里报错。。
回复 支持 反对

使用道具 举报

发表于 2010-12-8 22:23:03 | 显示全部楼层
从基础学起,不要着急
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( ICP05002321 )  

GMT+8, 2019-5-24 15:19 , Processed in 0.125000 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表