【问题标题】:Grails groovy - render pure js codeGrails groovy - 渲染纯 js 代码
【发布时间】:2013-04-25 21:19:06
【问题描述】:

这是Executing groovy statements in JavaScript sources in Grails的副本

有一个区别,我只想渲染 js 代码,周围没有脚本标签

想象有人在他的 html 中从我的服务器加载脚本

<script type="text/javascript" src="mywebsite.com/xyJs/xyz"></script>

我想渲染请求的“内容”

在控制器内部,我解析 /xyz 并找出脚本中必须包含的内容以及 iframe src 的绝对链接 我也需要运行这个 groovy 脚本 我正在尝试这样做

    render "document.writeln('<iframe src=\"${grailsApplication.config.grails.serverURL}/superStuff/stuff23/${profil.slugs}\" name=\"SuperStuff\" width=\"300\" height=\"600\" align=\"left\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" ></iframe>');"

但浏览器只是忽略了document.writeln(' 并将 iframe 视为 html 元素并呈现其内容

我怎样才能在不设置脚本标签的情况下确定它只是一点点 js 代码?

我也尝试渲染像

这样的视图
render(view:'SuperStuff',model:[profil:profil])

在视图内部 SuperStuff 是

<%@ page contentType="text/javascript; UTF-8" %>
document.writeln("<iframe src='${grailsApplication.config.grails.serverURL}/superStuff/stuff23/${profil.slugs}' name='SuperStuff' width='300' height='600' align='left' scrolling='no' marginheight='0' marginwidth='0' frameborder='0' ></iframe>");

但这也不起作用并呈现 iframe 的 src 的内容 我做错了什么?

对于任何提示,这让我很困惑,提前感谢

【问题讨论】:

    标签: javascript grails


    【解决方案1】:

    是的,那个已经修好了

    render contentType: 'text/javascript', text: "document.writeln('<iframe src=\"${grailsApp......."
    

    【讨论】:

      【解决方案2】:

      我相信,您的控制器按预期工作:它完全按照您的要求返回 javascript 代码:您对 document.writeln() 的调用。请使用FirebugChrome DevTools 或类似的网络面板进行验证。

      但是,js 代码将立即执行,从而导致在当前位置包含指定的 iframe 元素,例如 here 的解释。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 2020-03-02
        • 2017-06-05
        • 1970-01-01
        • 2017-09-17
        相关资源
        最近更新 更多