Google chrome Chrome拒绝从数据uri设置SVG过滤器

Google chrome Chrome拒绝从数据uri设置SVG过滤器,google-chrome,data-uri,svg-filters,Google Chrome,Data Uri,Svg Filters,我正在尝试制作一个bookmarklet,它将在加载到的整个页面上设置SVG过滤器。为此,它在根元素上设置样式: document.children[0].style.filter='url(data:image/svg+xml;base64,PHN2ZyB4…#h)'; 这在Firefox中运行良好,但Chrome似乎认为这是不安全的跨站点内容,删除了过滤器,并向控制台输出警告: (来源:) 这是预期的行为吗?我想在提交bug之前确定一下。如果是这样的话,我还能怎么做呢 这是一个包含boo

我正在尝试制作一个bookmarklet,它将在加载到的整个页面上设置SVG过滤器。为此,它在根元素上设置样式:

document.children[0].style.filter='url(data:image/svg+xml;base64,PHN2ZyB4…#h)';
这在Firefox中运行良好,但Chrome似乎认为这是不安全的跨站点内容,删除了过滤器,并向控制台输出警告:


(来源:)

这是预期的行为吗?我想在提交bug之前确定一下。如果是这样的话,我还能怎么做呢

这是一个包含bookmarklet的测试页面:

另一个演示:-我认为这是Chrome/Webkit中的一个bug。如果您在HTML源代码中添加
元素并在那里使用
id='h'
,您可能会发现上面的url突然引用了HTML源代码中的元素(也就是说,url末尾的“#h”以某种方式引用了HTML元素,而不是由数据url定义的元素)。