Javascript &引用;SecurityError:操作不安全";当尝试将img src设置为base64值时

Javascript &引用;SecurityError:操作不安全";当尝试将img src设置为base64值时,javascript,jquery,Javascript,Jquery,我有一个数组,它存储一些base64值,如下所示: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD ..." 我做了这个功能: var base64Matcher = new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"); $.each(inputValues, function(key, value)

我有一个数组,它存储一些base64值,如下所示:

"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD ..."
我做了这个功能:

var base64Matcher = new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$");
$.each(inputValues, function(key, value) {
    if (base64Matcher.test(value)) {
        $('#' + key).attr('src', value);
    } else {
        $('#' + key).val(value);
    }
});
基于,但当我尝试加载值时,出现以下错误:

SecurityError:操作不安全

如何测试值是否为base64 encode,然后将
src
属性设置为正确?这是一张图片,显示了保存
inputValues
的只是我刚刚通过这些值找到的值,如果它是
base64
encode,那么我设置
src
,因为这是一张图片,只有当我加载图片时,函数才会失败


PS:我检查并发布没有成功,有吗?

什么类型的元素有
值和
src
?变量名表明您正在循环输入元素?如果是的话。。。
src
属性不存在。我不认为这是抛出安全错误,但它肯定会导致此代码无法显示图像。您需要一个
img
标记,该标记不支持
value
属性。综上所述,现在还不清楚你想在这里做什么。这是一个在
base64
中保存图像的表单,这个
base64
存储在
img
标记的
src
属性中,我要做的是将这个值存储在某个临时变量中,然后在另一个imgI中检索。明白吗。但是,在阅读代码时,您使用的是
$('#'+key).val(value)
不会对图像标记做任何操作,但会设置表单输入的值。无论如何,您可以在JSFIDLE上设置一个这样的示例吗?这是一个奇怪的错误,从表面上看,你似乎遗漏了一些重要的细节。尝试在jsfiddle.net上设置错误的复制,并添加问题的链接。如果其他人还没有弄明白,我会回去看看我是否能弄明白。@Chris忘记了
inputValues
name,因为它只是一个名称,如果你看一下我留给你的图片,这些就是var所持有的值。我所做的是测试这个值,如果它有一些
base64
是因为它是
img
标记的一部分。这就是我在
inputValues
中存储值的方式:
$(“#产品创建步骤-”+current+“输入,#产品创建步骤-”+current+“img”).each(function(){var that=$(This);var thatis=This.src | | This.value;inputValues[that.attr('id')]=thatis;})
注意,我存储了每个img或img的
id
input@Chris因此,当我使用
inputValues
上的
each
移动并使用正则表达式进行测试时,我尝试将值设置回
$('#'+key).attr('src',value)如果它有base64代码或$('#'+键).val(值);如果是正常输入。对于第二个选项,它在输入元素时工作良好,但对于第一个选项,我得到了错误,很遗憾,我无法设置任何示例,因为这是我正在为一个项目工作的Symfony2捆绑包的一部分,希望有了这些信息,您对什么是错误或是什么导致问题有任何想法