首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails与swf应用

Grails与swf应用
EN

Stack Overflow用户
提问于 2014-06-13 17:23:47
回答 2查看 273关注 0票数 1

我想从grails2.3.1执行一个flash应用程序。

我有一个问题,从gsp加载swf文件的依赖项。

首先,我试着把所有需要的文件放到我的web应用程序文件夹中,它就像一种魅力:

  • wab-app
    • css
    • 闪存
      • index.html // <- -用于我的第一次测试。
      • flash.swf
      • prefs.xml
      • 数据-闪存文件夹
        • 视频文件夹
        • txt文件夹
        • xml-文件夹
        • intro.swf
        • main.swf
        • prefs.xml
        • static.xml

当我去这个网址:http://localhost:8080/application-name/flash/index.html,所有的工作就像一个魅力。

所以我决定从一个管理员那里打电话:

代码语言:javascript
复制
class FrontFlashController {
    def openFlash() {
    }
}

这是我的gsp呼叫闪存:

代码语言:javascript
复制
<g:applyLayout name="frontFlash">
        <div id="flash-render">
                <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1000" height="700" title="myFlash" >
                    <param name="movie" value="flash/flash.swf" />
                    <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml">
                    <param name="quality" value="high" />
                    <embed src="/application-name/flash/flash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1000" height="700" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&module=module&maxchapter=6&gochapter=3&jeu=0&cumul=285"></embed>
                </object>
        </div>
</g:applyLayout>

当通过这个url:http://localhost:8080/application-name/frontFlash/openFlash调用操作时,我的文件'flash.swf‘是正确加载的,但没有他的任何依赖项。

这里我的萤火虫堆栈:

代码语言:javascript
复制
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/static.xml"
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/textes/default_en.xml"
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/prefs.xml"
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/intro.swf"
"NetworkError: 404 Not Found - http://localhost:8080/application-name/frontFlash/data-folder/main.swf"

似乎在直接查看我的文件夹视图,而不是swf文件文件夹.

我怎么才能修好它?

此外,稍后我想将swf资源链接到我的grails应用程序之外,我如何才能这样做?

斯耐特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-16 15:28:09

我解决了将<base href="/application-name/flash/">添加到我的脑海中的问题。

这里是我的最后版本openFlash.gsp :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>FLASH</title>
        <base href="/application-name/flash/">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
        swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");
        </script>
    </head>
    <body>
        <div>
            <g:if test="${flash}">
                <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="1000" height="700" title="Module">
                    <param name="movie" value="flash.swf" />
                    <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml">
                    <param name="quality" value="high" />
                    <embed src="${g.createLinkTo(dir: 'flash', file: 'flash.swf')}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1000" height="700" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&maxchapitre=6&gochapitre=3&jeu=0&cumul=285"></embed>
                </object>
            </g:if>
            <g:else>
                <g:if test="${flash.error}">
                    <br />
                    <div class="alert alert-error">${flash.error}</div>
                </g:if>
            </g:else>
        </div>
    </body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2014-06-13 18:07:28

尝试在g.createLinkTo中使用src,如

代码语言:javascript
复制
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" title="myFlash" >
    <param name="movie" value="flash/flash.swf" />
    <param name="FLASHVARS" value="idSession=rffcu96vn6j4tq3o56j1bgn5o7&lang=fr&xmlPath=prefs.xml">
    <param name="quality" value="high" />
    <embed src="${g.createLinkTo(dir: 'flash', file: 'flash.swf')}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" flashvars="idSession=rffcu96vn6j4tq3o56j1bgn5o7&module=module&maxchapter=6&gochapter=3&jeu=0&cumul=285"></embed>
</object>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24210756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档