1

我希望将 an 的 src 属性设置为数据 uri (data:image/png;base64,etc..),但我遇到了错误:

拒绝 .setAttribute( src , data:image/png;base64,image_data... )

我在Caja Playground上测试了一个小代码片段,但它也无法加载数据 uri。

代码.gs

// Script-as-app template.
function doGet() {
  return HtmlService.createTemplateFromFile('index').evaluate();
}

function fetch(url) {
  var response = UrlFetchApp.fetch(url);

  return Utilities.base64Encode(response.getContent());
}

索引.html

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Image Test</title>
        <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
        <script>
        $(document).ready(function() {
            $("#test").click(function() {
                google.script.run.withSuccessHandler(function(data) {
                    window.console.log(data);

                    $("#photo1").attr("src", "data:image/png;base64," + data);
                }).fetch("http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Googlelogo.png/320px-Googlelogo.png");
            });
        });
        </script>
    </head>
    <body>
        <button id="test">Test</button>
        <img id="photo1" width="320" height="110" />
        <img id="photo2" width="320" height="110" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Googlelogo.png/320px-Googlelogo.png" />
    </body>
</html>

到 Google Apps 脚本的公共链接- (它不应该需要帐户登录...)

我开始认为这不是受支持的操作。

4

1 回答 1

1

正确的。目前 Caja 不支持数据 URI,因此 Apps 脚本中也不支持。请跟踪此 Caja 问题以获取更多详细信息 -

https://code.google.com/p/google-caja/issues/detail?id=1558

于 2013-08-28T23:23:24.727 回答