天道酬勤,学无止境

在 Flash CS5 上使用 PHP 和 XML 将图像从 Mysql 加载到 TileList(Load images to a TileList from Mysql using PHP and XML on Flash CS5)

问题

我有一个 mysql 数据库,其中包含一个包含图像路径的表。

我想将所有图像加载到 TileList。 现在我在 PHP 中有这个:

<?PHP

mysql_connect("localhost", "root", "root");
mysql_select_db("prototipo");

$result = mysql_query("select entretenimiento_id, e_nombre, e_imagen from          entretenimiento");

echo "<?xml version=\"1.0\" ?><entretenimiento>";

while($row = mysql_fetch_assoc($result))
{
    echo "<e_nombre>" . $row["e_nombre"] . "</e_nombre>";
    echo "<e_imagen>" . $row["e_imagen"] . "</e_imagen>";   
}

echo "</entretenimiento>";

?>

这应该为我获取图像的路径,名称,因此它出现在显示图像的图块的标签上,并为我带来 ID,以便我可以在单击该图像时启动另一个查询。

所有这些都设置为动态创建的 XML。

现在我的问题......我如何加载这个??? AS3怎么办?? 我已经有 tilelist 的 AS3,我只需要从 PHP 加载这个动态创建的 XML 到它。

提前致谢。 对不起,如果我搞砸了英语,它不是我的主要语言。 我是南美人。


我有一个部分的答案:

var path:String = "http://localhost/entretenimiento.php";
xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, onLoadComplete);
xmlLoader.load(new URLRequest(path));       

function onLoadComplete(e:Event):void {
    var xmlData:XML = new XML(e.target.data);
    //trace(xmlData);

    for (var i:int=0; i<xmlData.*.length(); i++)
    {
        myTileList.addItem({label:xmlData.e_nombre[i], source:xmlData.e_imagen[i]});
        //trace(xmlData.e_nombre[i]);
    }

}

虽然这向我显示了图块上的图像和标题,但我还得到了另外两个空的图块,并且在跟踪中它们显示为“未定义”。 为什么会这样?

回答1

这是一个应该可以工作的示例代码:

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, showXML);
// change the path of your php file
xmlLoader.load(new URLRequest("your-file.php"));
function showXML(e:Event):void
{
    var entretenimiento:XML = new XML(e.target.data);
    // for each row :
    for (var x:XML in entretenimiento.loc)
    {
        // Change the name of your tilelist
        myTileList.addItem({label:x.e_nombre, source:x.e_imagen});
    }
}

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Load images to a TileList from Mysql using PHP and XML on Flash CS5
    I have a mysql database with a table containing PATH's to images. I want to load al the images to a TileList. Now i have this in PHP: <?PHP mysql_connect("localhost", "root", "root"); mysql_select_db("prototipo"); $result = mysql_query("select entretenimiento_id, e_nombre, e_imagen from entretenimiento"); echo "<?xml version=\"1.0\" ?><entretenimiento>"; while($row = mysql_fetch_assoc($result)) { echo "<e_nombre>" . $row["e_nombre"] . "</e_nombre>"; echo "<e_imagen>" . $row["e_imagen"] . "</e_imagen>"; } echo "</entretenimiento>"; ?> This is supposed to fetch me the PATH of the image, the name
  • Adobe Flash 项目的版本控制(Version control for Adobe Flash projects)
    问题 我正在处理一个非常复杂的 Flash 项目,该项目是我们为客户使用而部署的全套服务的一部分。 对于我们的大多数软件源(Java、PHP、Javascript、HTML 和一些其他语言的支持脚本),我们使用 subversion 进行版本控制和管理,因此我们对 Flash 项目也这样做,尽管我们从 version 中获得的好处很少控制(除了能够恢复到以前的版本),因为 FLA 文件仅存储为二进制文件,我们无法从中获得有意义的差异。 我们将尽可能多的代码放入我们可以使用 subversion 正确管理的 AS 文件中,但是由于我们架构的要求和我们的部署策略(我们都不能因为客户的需要而改变),我们仍然维护一个大的我们需要管理的 FLA 文件的集合。 我看过 Adob​​e Version Cue,虽然我不太了解它在版本控制方面的作用,但将我们的 Flash 项目移动到 Version Cue 上托管会让我比目前从 Subversion 获得更好的控制吗? 另外 - 如果人们可以分享他们关于 Flash 项目版本控制的经验和建议,这将非常有帮助。 回答1 我自己也遇到过这个问题,除了: FLA 中没有代码,永远在适当的情况下,在语义上将内容划分为单独的 FLA 为 FLA 制作更改文档,并为每个更改输入注释。 第一点很明显。 第二个是要认识到 FLA 是二进制 blob 的事实
  • 更改数据提供程序时如何处理来自 Flash tilelist 的 Unhandled #2044 错误?(How to handle Unhandled #2044 errors from Flash tilelist when changing dataprovider?)
    问题 我有一个使用基于 ImageCell 的自定义项渲染器的 tilelist 组件。 我知道有时无法找到它试图检索的某些图像,我能够通过自定义 ImageCell 加载器上的 IEOrror 侦听器来处理此问题。 但是,如果我设置了数据提供程序,那么在所有图像完成加载或错误过程之前它会被更改,Flash 调试播放器会在 firefox 中抛出一个未处理的 #2044 错误,指出无法找到图像。 在带有调试播放器的歌剧中,它会抛出 #2044 说明加载从未完成。 我找不到捕获和忽略这些错误的方法,因此它们不会抛出调试器播放器对话框。 此外,当使用 Flash Builder IDE 进行调试时,调试器根本不会因这些错误而中断 - 它仅在播放器中,而我能够毫无问题地中断其他错误。 当数据提供程序更改时,就好像错误侦听器正在被处理,但加载程序继续并抛出未处理的 #2044。 关于如何有效处理的任何想法? 提前感谢您的时间和帮助 - 乙 回答1 在自定义单元渲染器的构造函数中,您需要向受保护的加载程序实例添加一个事件侦听器并处理 IOError。 下面是一个例子: package { import fl.controls.listClasses.ICellRenderer; import fl.controls.listClasses.ImageCell; import fl
  • 使用 Actionscript 3 从 Facebook 加载个人资料图片(Load profile image from Facebook with Actionscript 3)
    问题 我正在尝试使用 AS3 从 Facebook 加载个人资料图片(朋友图片),但我似乎遇到了安全问题。 我目前正在使用 Actionscript 3 的“官方”Adobe Facebook API,它运行良好。 但是,在浏览器中运行我的应用程序时,我似乎无法加载配置文件图像。 在 Flash IDE 中运行时,图像加载良好。 图像正在从https://graph.facebook.com加载,并且该域上似乎有 crossdomain.xml 策略: <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" secure="false" /> <site-control permitted-cross-domain-policies="master-only" /> </cross-domain-policy> 在其他来源中,我发现在加载图像时将 ContextLoader 添加到我的 Loader 对象应该可以解决问题,但情况似乎也并非如此: loader = new Loader(); // add some listeners
  • 将网站数据导入 Adob​​e InDesign(Getting website data into Adobe InDesign)
    问题 我希望我们的杂志团队能够将网站数据下载到 Adob​​e InDesign 可以读取的文件中。 然后他们可以导入/打开文件,进行一些调整,并减少大量重复的体力劳动(他们目前使用复制和粘贴几个小时)。 在简短的谷歌之后,我注意到 InDesign 的 v2 可以导入/导出 XML 所以也许这是我最好的选择? 有没有其他选择,任何人都可以提供任何建议吗? 我使用的是 PC,杂志团队使用的是 Mac; 我担心测试会很烦人。 我们希望格式化的数据相当简单——一个标题后跟一小段文本(重复大约 50 次,比如)。 稍后我会询问有关导入图像的问题。 谢谢你的帮助。 我现在将返回谷歌,但如果有人能先指出更具体的方向,那就太好了! 回答1 在最新的 indesign sdk 中有一个 xhtml to idml(indesign 标记语言)xsl 模板。 您可以从它开始帮助您格式化 idml 输出。 这是 sdk 的链接:http://www.adobe.com/devnet/indesign/sdk/ 下载“产品”版本。 xsl 文件位于 zip 文件中的此路径中:devtools/sdktools/idmltools/samples/icmlbuilder/xsl/icml.xsl 由于 mac 问题,您可以让他们将 xhtml 文件“保存”到共享目录
  • 如何防止/使其难以下载我的Flash视频?(How can I prevent/make it hard to download my flash video?)
    问题 我至少要阻止普通用户下载我的Flash视频。 最好的方法是什么? 创建一个httphandler,添加一个令牌(例如timeid),将缓存控件设置为no-cache,以便只有具有正确令牌的用户才能观看正确的视频。 那可行吗? 客户端要求视频不应由用户下载,而只能在特定网站上观看。 我想知道这是否有效:http://www.somesite.com/video.swf?time=1248319067 服务器将生成一个令牌(在上面的示例中为时间),因此用户只能对此链接有一个请求。 如果用户想再次观看视频,则需要访问我们的网站以再次获得令牌。 这样可以防止新手下载吗? 我无法通过downloadHelper firefox插件下载此Flash视频:http://news.bbc.co.uk/2/hi/americas/8164177.stm 更新时间(2009/07/23 pm 13:49 pm):可以使用某些视频下载软件来下载上述文件。 以下中文站点的视频文件受到很好的保护(我无法使用许多视频下载软件下载该文件):http://programme.tvb.com/drama/abrideforaride/video/ 你知道怎么做吗? 回答1 我认为,如果有人愿意,没有一种简单的方法可以阻止人们获取您的视频, 有很多用于Firefox的插件,甚至可以从youtube和许多地方下载
  • iphone/ipad:如何在objective-c 中加入flash 动画?(iphone/ipad: how to incorporate flash animation in objective-c?)
    问题 我想将一些 flash 动画(一个 2d 角色动画)合并到我的目标 c 应用程序中。 我听说你可以创建一个 flash cs5 应用程序并将其导出到 iphone 中。 但我不想导出整个应用程序。 只是一个小组件... 例如,我想获得一个用 flash 制作的 2d 角色挥手动画,然后将其合并到我的目标 c 应用程序中。 这能做到吗? 回答1 如果动画真的那么简单,最好使用图像序列。 您可以创建一个 UIImageView 并将 animationImages 属性设置为 UIImage 对象的数组。 另一种选择是使用 Flash 到 HTML5 的转换工具之一,并在您的应用程序中包含 UIWebView。 回答2 我认为将 flash cs5 应用程序导出到 iphone 应用程序与目标 c 无关。 这是一个独立的过程。 您不能合并两个进程并将 Flash 组件导出到您的 obj-c 应用程序。 回答3 我认为没有任何受支持的方法可以将 Flash 内容传送到 iPhone 或其他 iOS 设备上。 Apple 不想在 iPhone 上使用 Flash。 Adobe 发布了一个名为 Wallaby 的实验性工具,可以将 Flash 文件 (.FLA) 导出为 HTML5,所以也许您可以使用 UIWebView 来加载该内容? UIWebView 还将在 iPhone 上支持
  • 想要来自Flash应用程序的Facebook共享中的自定义标题/图像/描述链接[重复](Want custom title / image / description in facebook share link from a flash app [duplicate])
    问题 这个问题已经在这里有了答案: 9年前关闭。 可能重复: Facebook Sharer如何选择图片? 我正在制作一个Flash应用程序,该应用程序演示了以不同速度行驶时潜在的交通伤害。 我希望用户能够在Facebook上共享此信息。 但是,这要求我可以自定义将以某种方式出现在Facebook上的文本。 我正在制作一个在空白窗口中打开的URL(从Flash应用程序本身)。 我指定u和t参数,将生成的消息作为t参数。 但这似乎总是被页面标题所覆盖。 如果我从html代码中省略了标题标签,则使用文件名(也覆盖指定的标题)。 http://www.facebook.com/sharer.php?u=http://espentokerud.com/face/addiste.html&t=test; 我也尝试对URL进行url编码,但无济于事。 http://www.facebook.com/sharer.php?u=http%3a%2f%2fespentokerud.com%2fface%2faddiste.html&t=test; 我也尝试使用addthis API,但也遇到相同的缺点。 有趣的是,如果我发布瑞士法郎,则可以自定义标题和描述,还可以指定屏幕截图。 但是,如果我不发布瑞士法郎,这似乎被忽略了。 我知道我可以在html页面上使用meta标签来指定缩略图,标题和描述
  • 找不到类 fl.controls::CheckBox(Class fl.controls::CheckBox could not be found)
    问题 我正在加载包含舞台上复选框的外部 swf。 但是当我尝试加载该 swf 时,出现错误“找不到 Class fl.controls::CheckBox”。 我在 flash builder 4 中使用纯 as3 和 flash pro cs4 制作的外部 swf 构建应用程序 谢谢, 回答1 fl.controls命名空间是 Flash Pro 的一部分。 要与 Flash Builder 集成,您可以通过 SWC 或通过代码添加包: 将 Flash 组件添加到 Flash Builder: 由 SWC 添加: 在 Flash Builder 中右键单击您的项目,然后转到“属性”。 从左侧选择“ActionScript Build Path”。 转到右侧现在可用的“库路径”选项卡。 单击“添加 SWC...” 添加来自 Flash 的库,例如 flash.swc 或 IK,具体取决于您拥有的 Flash IDE 版本和安装位置。 视窗: C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\Common\Configuration\ActionScript 3.0\libs\flash.swc Mac OS X: /Applications/Adobe Flash CS5/Common/Configuration/ActionScript
  • Flash CS5 从文档类以外的类引用显示对象(Flash CS5 reference a display object from a class other than the document class)
    问题 我使用 Flash CS5 Professional 创建了一个元件,将其拖到舞台上,并为其指定实例名称 GreenLight1。 如果我想让它从文档类中可见,我可以简单地执行 GreenLight1.visible=true; 当我测试文件时,很高兴去。 只要我留在文档类中,我就很高兴,但现在我正试图转移到另一个类并遇到各种麻烦,只是试图让 Flash 允许我访问这个简单的对象。 我想要做的就是在这个新类中发生某种情况时让这个 GreenLight1 不可见(visible=false),而 Flash 根本不会让我访问 GreenLight1。 到目前为止我尝试过的事情: stage 传递给类并由 _stage 引用,并且在我执行 _stage.addchild 或类似操作时工作正常。 所以我试过“_stage.GreenLight1.visible=false;” 我得到“ReferenceError: Error #1069: Property GreenLight1 not found on flash.display.Stage 并且没有默认值。” 我的文档类扩展了 Sprite,所以我想我会尝试使用 root 函数。 所以我尝试了“Sprite(root).GreenLight1.visible=false;” 我得到“1119:通过静态类型 flash
  • AS3 如何删除以前的加载程序(AS3 How to remove previous loaders)
    问题 在 Flash CS4 中,我正在创建一个照片库。 我的目标是从许多图像中加载不同的缩略图。 我已经设法当一个人点击一个图像时,会显示一些缩略图,但是当一个人点击另一个图像时,新的缩略图被放置在旧的缩略图之上。 有人可以帮助我如何摆脱旧缩略图吗? 这是代码: for (var i:int = 0; i < thumbnails.length(); i++) { imgLoader.unload(); imgLoader = new Loader(); imgLoader.load(new URLRequest(thumbnails[i])); imgLoader.name= i; imgLoader.x = 95 * columns; imgLoader.y = 80 * rows; imgLoader.alpha = 0; details.gallery.addChild(imgLoader); if (columns+1< 5) { columns++; } else { columns = 0; rows++; } } 回答1 这就是数组是你的朋友的地方。 您可以在没有数组的情况下执行此操作,只需使用 while 循环从您添加拇指的精灵或影片剪辑中删除每个最后一个子项。 我们使用数组的原因是我们可以重用拇指,而不是重新加载它们,我们只是将它们从显示列表中删除。
  • 是否可以从ExtendScript外部执行JSX脚本?(Is it possible to execute JSX scripts from outside ExtendScript?)
    问题 通常,当您编写.jsx脚本以自动化Adobe产品(例如InDesign,Illustrator或Photoshop)时,可以从ExtendScript IDE编写,调试和执行脚本。 是否可以绕过ExtendScript并从第三个程序运行脚本? 我认为Adobe产品具有内置的JavaScript解释器,ExtendScript可以连接到该解释器以访问Adobe对象模型并使它们的软件自动化。 我希望能够直接连接到该解释器并像在ExtendScript中一样运行jsx文件。 回答1 您在Mac上吗? 如果是这样,则可以将AppleScript与osascript工具一起使用来执行JavaScript。 这里有些例子: 运行JSX并返回值 将其另存为〜/ temp / foo.scpt: tell application "Adobe Illustrator" -- 'do javascript' runs any arbitrary JS. -- We're using the #include feature to run another -- file. (That's an Adobe extension to JS.) -- -- You have to pass a full, absolute path to #include. -- -- The
  • FLASH as3 无法识别 localhost php 网址(FLASH as3 not able to identify localhost php web address)
    问题 我正在尝试使用 php(products.php) 检索 mysql 数据并将 xml 格式的数据返回到 Adob​​e flash as3; 但我收到以下错误。 Error opening URL 'http://localhost/Flash/player/products.php' 错误 #2044:未处理的 ioError:。 文本=错误 #2032:流错误。 URL:http://localhost/Flash/player/products.php 在 php_mysql3_as3_fla::MainTimeline/frame1() 请任何建议或帮助为什么 flash 没有识别 http://localhost/Flash/player/products.php 地址。 我安装了 WAMP; 这工作正常,因为我有许多其他 php 项目在这里工作。 在此先感谢您的帮助和建议。 以下是我的php代码 <?php $link = mysql_connect("localhost","root",""); mysql_select_db("test"); $query = "select * from products"; $results = mysql_query($query); echo '<?xml version="1.0" encoding="utf-8"
  • 如何使用 Flash 在 ActionScript 3 中动态加载渐进式 jpeg/jpg 并在完全加载之前知道它的宽度/高度(How to dynamically load a progressive jpeg/jpg in ActionScript 3 using Flash and know it's width/height before it is fully loaded)
    问题 我正在尝试使用 ActionScript 3 动态加载渐进式 jpeg。为此,我创建了一个名为 Progressiveloader 的类,该类创建了一个 URLStream 并使用它来将渐进式 jpeg 字节流式加载到 byteArray 中。 每次 byteArray 增长时,我都会使用 Loader 来加载 byteArray。 这在某种程度上是有效的,因为如果我 addChild 加载器,我可以在流式传输时看到 jpeg,但我无法访问加载器的内容,最重要的是,我无法更改加载器的宽度和高度. 经过大量测试,我似乎找到了问题的原因,直到Loader完全加载jpg,这意味着直到他真正看到jpg的末尾字节,他才知道宽度和高度,他不创建与加载程序的内容相关联的内容 DisplayObject。 我的问题是,有没有办法在加载之前实际知道 jpeg 的宽度和高度? PS:我相信这是可能的,因为渐进式 jpeg 的性质,它被加载到它的全尺寸,但细节较少,所以应该知道尺寸。 即使以这种方式加载普通 jpeg 时,屏幕上也会看到大小,但尚未加载的像素显示为灰色。 谢谢你。 回答1 我认为你的问题是 loadBytes 是异步的......这意味着你需要等到“完成”事件才能检索(或更改)其宽度和高度......我的意思是: var loader:Loader=new Loader()
  • Flash Builder 4 现在是否使用 AIR 2?(Does Flash Builder 4 now use AIR 2?)
    问题 我刚刚获得了 CS5 主套件,其中包括 Flash Builder 4 和 Flash CS5 Pro。 当我在 CS5 pro 中创建一个新的 AIR 应用程序时,它显示“AIR 2”,但是当我在 Flash Builder 中创建一个新的 AIR 项目时,我没有看到任何表明它是 AIR 2 或 1.5 的内容? 有没有办法知道它使用的是哪个 AIR 运行时? 回答1 我认为您必须下载 SDK 并自行安装; 但 Flash Builder 应该可以正常工作: http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes 如何覆盖 Adob​​e AIR SDK 以与 Flex SDK 一起使用将现有 Flex SDK 文件夹的内容复制到新文件夹。 例如,在 Flex Builder 中,复制位于以下位置的以下文件夹: * Windows:c:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0 * Mac OS:/Applications/Adobe Flex Builder 3/sdks/3.2。 0 为您的操作系统下载适当的 AIR SDK 文件并将其保存到 Flex SDK 的根文件夹中。 * Windows:AIR20_win_sdk_XXXXXX.zip * Mac
  • 页面加载 - 页面之间的白色“闪烁”(Page Load - White “flash” inbetween pages)
    问题 有两个网站,一个正在开发中。 我正在将一个站点移植到 Zend Framework(出于可维护性/集成目的)。 原始(实时)站点具有无缝页面加载 - 它将加载,然后更新屏幕上的内容,同时在页面上保留背景图像、导航等。 移植的站点(开发)在短时间内完全“闪烁”为白色,然后所有内容同时出现。 据我所知,这不是FOUC(无样式内容的闪光)。 两个站点上的内容始终以所有 CSS 规则显示完全样式。 这两个站点在呈现时看起来完全相同,它们使用相同的图像、css 和 HTML 标记。 唯一的区别是一个(开发)由 Zend Framework 提供服务,另一个(实时)由过程 PHP 提供。 造成这种情况的主要原因是什么,这是 ZF 的已知错误/配置问题吗? 我以前在没有使用 ZF 的情况下遇到过这个问题,但没有解决。 谢谢你的帮助。 回答1 尝试将 javascript 放在页面底部,就在结束 body 标记之前。 这应该会加快页面渲染速度,因为加载 javascript 会阻止其他下载(css、图像等),因此在所有脚本加载之前,将页面留空。 回答2 它可能是您的网络服务器。 尝试将您的服务器的 HTTP 标头与像 http://web-sniffer.net/ 这样的网络嗅探器进行比较,看看缓存标头是否有任何不同。 如果有,那么您的浏览器正在转储所有内容并重新开始
  • 用于网站创建的 HTML 的替代品?(Alternatives to HTML for website creation?)
    问题 似乎最常见的网页设计方法是将 HTML/XHTML 和 CSS 与其他技术或语言(如 Javascript 或 PHP)结合使用。 在理论层面上,我很想知道可以使用哪些其他语言或技术来构建整个网站,而无需使用单个 HTML 标记或 CSS 样式进行样式/定位? 是否可以仅使用 XML 或 PHP 来制作网站,包括实际的样式和定位? 大概 Flash 网站直到嵌入在 HTML 标签中? 谢谢 回答1 实际上有几种解决方案可以让您几乎完全避免使用 CSS 和 HTML。 GWT:谷歌网络工具包 用 Java 编写,允许您用 Java 构建服务器和客户端代码。 用于构建 Google Wave。 卡布奇诺咖啡和 Objective-J: Objective-J 之于 JavaScript,就像 Objective-C 之于 C。它扩展了 JavaScript 的许多特性,包括类型检查、类和类型。 卡布奇诺就像 Cacoa(Mac OS X GUI 工具包)。 使用这两个,您可以构建令人难以置信的丰富和桌面的 web 应用程序。 它们主要在客户端运行,您可以在服务器上使用任何您想要的东西。 一个很好的例子是 280slides SproutCore 类似于 Cappuccino,但它使用纯 JavaScript 代替。 Apple 正在使用 SproutCore 制作 me.com。
  • 图像在 iframe 中加载后未从缓存加载(Image not loading from cache after it's loaded in an iframe)
    问题 我正在 iframe 中加载图像,然后(加载 iframe 后)在页面上加载图像。 但是大多数浏览器似乎都加载了两次图像。 为什么没有从缓存加载img标签? 像这样的东西: var loader = $('<iframe />').appendTo('body')[0]; loader.onload = function() { $('body').append('<img src="' + imgsrc + '" />'); }; loader.src = imgsrc; http://jsfiddle.net/amirshim/na3UA/ 我正在使用 fiddler2 查看网络流量。 如果您想知道我为什么要这样做,请查看此问题 回答1 拥有 iframe 就像拥有一个单独的选项卡,它使用另一个浏览器实例,因此我认为它没有使用缓存。 如果你想要的是预加载图片,你可以在 javascript 中使用new Image() 回答2 也许您发送了阻止缓存的 HTTP 标头? 如果您使用 PHP 将图像发送给用户并启动会话,PHP 将设置标题以强制重新加载图像。 回答3 .htaccess 可用于改进缓存,您也可以在 PHP 中设置标头。 我使用 .htaccess:如果图像已加载一次并且您没有进行任何更改,它将从缓存中加载。 可以为其他类型的文件设置此行为(见下文):
  • 缓存,PHP 生成的缩略图加载缓慢(Cached, PHP generated Thumbnails load slowly)
    问题 问题 A 部分▉(100 赏金,奖励) 主要问题是如何使这个网站加载速度更快。 首先,我们需要阅读这些瀑布。 感谢大家对瀑布读数分析的建议。 从这里显示的各种瀑布图中可以明显看出主要瓶颈:PHP 生成的缩略图。 David 建议的来自 CDN 的无协议 jquery 加载获得了我的赏金,尽管使我的网站总体速度仅提高了 3%,并且没有解决网站的主要瓶颈。 是时候澄清我的问题了,还有另一个赏金: 问题 B 部分▉(100 赏金,奖励) 现在的新重点是解决 6 个 jpg 图像所具有的问题,这些问题导致大部分加载延迟。 这6张图片是PHP生成的缩略图,很小,只有3~5 kb,但是加载相对很慢。 注意各种图表上的“第一个字节的时间”。 问题仍未解决,但 James 获得了赏金,他修复了 RedBot 下划线的标题错误: “If-Modified-Since 条件请求返回完整内容不变。” . 问题C部分▉(我最后的悬赏:250分) 不幸的是,即使在修复了 REdbot.org 标题错误后,由 PHP 生成的图像引起的延迟仍然没有受到影响。 这些微小的 3~5Kb 缩略图到底在想什么? 所有这些标题信息都可以将火箭发送到月球并返回。 关于这个瓶颈的任何建议都非常感谢并被视为可能的答案,因为我现在已经被困在这个瓶颈问题上七个月了。 [我网站上的一些背景信息:CSS 位于顶部。 底部的 JS
  • 在 AS3 (Action Script 3.0) 中查找(加载)图像大小(Finding (loaded) image size in AS3 (Action Script 3.0))
    问题 我目前使用以下函数来加载图像,但是我无法找到一种方法来找到加载图像的宽度,我打算在使用相同函数放置下一个图像之前使用它。 请注意, q 是一个变量(一个数字),用于加载不同的图像。 =X 我需要帮助获取加载的图像宽度... function LoadImage(q) { var imageLoader:Loader = new Loader(); var image:URLRequest = new URLRequest("GalleryImages/Album1/"+q+".jpg"); imageLoader.load(image); addChild (imageLoader); imageLoader.x = 0 + CurrentXLength; imageLoader.y = 0; imageLoader.name = "image"+q; trace(imageLoader.x) } 回答1 在实际加载之前,您无法知道位图的宽度: function LoadImage(q) { var imageLoader:Loader = new Loader(); var image:URLRequest = new URLRequest("GalleryImages/Album1/"+q+".jpg"); imageLoader.contentLoader