我有一个应用程序,用户可以复制图像URL,将其粘贴到输入,图像将被加载到一个盒子上.
但我的应用程序,继续触发此消息:
Refused to load the image 'LOREM_IPSUM_URL' because it violates
the following Content Security Policy directive: "img-src 'self' data:".
Run Code Online (Sandbox Code Playgroud)
这是我的元标记:
<meta http-equiv="Content-Security-Policy" content="default-src *;
img-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
style-src 'self' 'unsafe-inline' *">
Run Code Online (Sandbox Code Playgroud)
我在应用程序中使用html2Canvas,当我删除它时:"img-src'seld'数据:"
它触发了这个错误:
html2canvas.js:3025 Refused to load the image 'data:image/svg+xml,
<svg xmlns='http://www.w3.org/2000/svg'></svg>' because it violates
the following Content Security Policy directive: "default-src *".
Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
Run Code Online (Sandbox Code Playgroud)
除了一堆其他错误......
我在WAMP中的项目的URL并没有像我期望的那样解决.例如,我希望文件夹c:\ wamp\www\project1中的项目具有URL http:// project1 /,但它实际上具有URL http:// localhost/project1 /.
访问服务器变量时,这可能会导致问题.我该如何解决?
我无法显示任何代码,因为问题不是给我一个错误,一条消息或任何东西.
我有这种情况:我的应用程序必须使用domToImage进行2次渲染.
首先,我从Camera/Gallery(base64)获取一个图像然后添加到img.src它呈现一个简单的背景.我将这个bg放在一组Dom元素下,然后将它们全部渲染在一起这个过程发生得很好,没有问题,没有错误,没有错误.
直到突然它开始崩溃的应用程序.我没有对我的代码进行任何更新,任何更改.它工作,但事实并非如此.
我重新制作了这个过程并缩小到渲染.仍然崩溃.
行动没有模式.它会在bg渲染或set渲染下崩溃,有时则不会崩溃.但它不会错过2连胜.如果第一个例程没有失败,第二个例程就会失败.无处不在.
我迷路了...一个额外的Xwalk,被移除,从地面创建另一个相同的项目,仍然崩溃.更改了插件导入,甚至重置智能手机以进行某种干净的安装...不是我的手机问题导致世界各地的一些客户报告此错误.
任何方向?
使用Dom-to-Image 2.6.0
Ionic 3 - Android平台
home.ts
import domtoimage from "dom-to-image";
var node= document.getElementById("render");
domtoimage.toPng(node, {
height: node.offsetHeight * 2,
width: node.offsetWidth * 2)
})
.then(dataUrl => {
EventEmitterService.get("fullRendered").emit(dataUrl);
})
.catch(error => {
alert(error)
});
Run Code Online (Sandbox Code Playgroud)
=================================
的package.json
{
"name": "Ionic App",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"start": "ionic-app-scripts serve",
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint"
},
"dependencies": {
"@angular/animations": "5.2.11", …Run Code Online (Sandbox Code Playgroud) 我在离子存储方面遇到问题。
当我登录我的应用程序时,它保存了一些配置对象。在我的最后一次检查是在IndexedDb上。
但是,如果我保存任何文件更改或只是刷新页面,有时它就会从IndexedDb切换到Web SQL。
我的所有数据都“丢失了”,因为数据库是一个全新的数据库。
任何人都知道为什么会发生或如何解决。
这是我的app.module存储设置
IonicStorageModule.forRoot({
name: '__cds',
driverOrder: ['indexeddb', 'sqlite', 'websql']
})
Run Code Online (Sandbox Code Playgroud)
编译为App时,恐怕会对此产生影响。到目前为止,我只从事浏览器开发
我就是这样设置的
//响应是我从http调用接收到的对象
this.storage.set('cds', response).then(() => {
this.goHome();
});
Run Code Online (Sandbox Code Playgroud)
我就是这样
this.storage.get('cds').then(cds => {
this.variable = JSON.parse(cds);
});
Run Code Online (Sandbox Code Playgroud)
看,这不是在单个数据库上“维护”存储
在我的Ionic应用程序中,我有一个离子选择:
<ion-item>
<ion-label>Type</ion-label>
<ion-select [(ngModel)]="type" interface="action-sheet">
<ion-option *ngFor="let type of types"
value="type.class">
{{type.name}}
</ion-option>
</ion-select>
</ion-item>
Run Code Online (Sandbox Code Playgroud)
每当我选择一个选项时,它会选择所有可用的选项.我alredy尝试使用属性multiple ="false"但没有奏效.
额外细节:
type.class是每个选项的相同值.我已经为每个选项添加了不同的值.没有用.如果我完全删除了值=""它正常工作
有帮助吗?
我正在使用插件(dom-to-image)从 div 生成 SVG 内容。它返回一个像这样的 dataURL:
data image/xml, charset utf-8, <svg...
Run Code Online (Sandbox Code Playgroud)
如果把这个放在一个<img src图像上,它会正常显示。
目的是获取此 dataURL,将其转换为 base64,以便我可以将其保存为移动应用程序上的 image.png。
是否可以?
我尝试了这个解决方案/sf/answers/1991561561/ 但无法开始工作。控制台触发有关 dataUrl 的错误
类型错误:无法在“XMLSerializer”上执行“serializeToString”:参数 1 不是“节点”类型。
==== 更新 :: 问题说明/历史 ====
我正在使用 Ionic 框架,所以我的项目是一个移动应用程序。dom-to-image 现在已经开始工作了,它通过toPng函数渲染了一个 PNG 。问题是光栅PNG是模糊的。
所以我想:也许 SVG 的质量会更好。它是!!实际上,它是 100% 完美的。
在 Ionic 上,我使用两步程序来保存图像。得到dom-to-img(base64) dataURL生成的PNG后,我将其转换为Blob,然后保存到设备中。这是有效的,但正如我所说,最终结果是模糊的。
然后使用 SVG 也许它会更“高质量”。
因此,为了对已经在工作的进程进行“最小”更改:DI 只需要将 SVG 转换为 base64 dataURL ....
或者,正如你们中的一些人向我解释的那样,进入其他东西,比如画布......我不太了解:/
===
很抱歉发表这么长的帖子,我真的非常感谢你们的帮助!!