小编tsc*_*chi的帖子

Chrome中的iframe错误:无法从"窗口"中读取"localStorage":此文档的访问被拒绝

我有一个使用localStorage的网络应用程序.现在我们想通过iframe在其他(第三方)网站上嵌入此网络应用.我们希望提供类似于youtube的iframe嵌入,以便其他网站可以将我们的网络应用嵌入到iframe中.在功能上它就像它不会被嵌入一样.但它不起作用.Chrome会输出错误消息:

Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
Run Code Online (Sandbox Code Playgroud)

我只是做了以下检查(在iframe中):

if (typeof window.localStorage !== 'undefined') {
    // SETUP SESSION, AUHT, LOCALE, SETTINGS ETC
} else {
    // PROVIDE FEEDBACK TO THE USER
}
Run Code Online (Sandbox Code Playgroud)

我在Chrome中检查了我的安全设置,就像在另一个Stackoverflow线程中所描述的那样,但它不起作用.在不需要调整大多数现代浏览器的(默认)安全设置的情况下,是否可以进行嵌入更改?

为了提供更多信息,我们使用Ember-CLI作为我们的Web应用程序并打开了CSP(有关Ember-CLI CSP的更多信息).CSP会导致我们的网络应用程序出现安全错误吗?

iframe google-chrome ember.js content-security-policy ember-cli

25
推荐指数
9
解决办法
3万
查看次数

Android - 人脸特征检测

目前我正在开发适用于Android手机的应用.我们想要检测脸部的特征.该程序应该能够检测眼睛,鼻子,嘴巴和脸部边缘的位置.

准确性应该很好,但不一定要完美.可以放松一些准确性以加快速度.所有的面都是正面的,我们之前会知道这些特征的大致位置.我们不需要实时检测.应从保存的图像中提取要素.检测时间应该只要不影响用户体验.所以即使2或3秒也可以.

有了这个假设,找到一个能让我们实现这个目标的库不应该太难.但我的问题是,最好的方法是什么?你的建议是什么?这是我第一次为Android开发,我不想跑错方向.对我们来说这是一个好主意,还是我自己实现一些现有算法更好(更快/更高精度)?

我google了很多,我发现了很多有趣的东西.Android API中还有面部检测功能.但返回的face class(http://developer.android.com/reference/android/media/FaceDetector.Face.html)仅包含眼睛的位置.这对我们的应用来说更少.然后还有适用于Android或JavaCV的OpenCV.您认为合作的好主意是什么?对于哪个库有好的文档,教程?

android opencv computer-vision face-detection feature-detection

14
推荐指数
1
解决办法
9954
查看次数

当构建的所有内容都完成后运行 rollup 插件

我使用experimentalCodeSplitting: truerollup 0.61.2 的功能来获得良好的代码分割。因为我的项目也包含资产,所以我创建了一个插件,可以相应地复制和缩小资产文件。问题是我使用的钩子会为创建的每个块调用。因此,资产被多次复制和缩小。我发现的唯一解决方法是创建一些标志,在true一切正确完成后将其设置为。是否有一个功能可以在所有事情(或所有事情之前)完成之后而不是每次都调用汇总挂钩chunk?现在我的插件看起来像下面的代码(我删除了一些部分并简化了可读性):

export default function copy(userOptions = {}) {
    const name = 'copyAndMinify';
    const files = userOptions.files || [];
    let isCopyDone = false;

    return {
        name: name,
        // also tried onwrite, ongenerate, buildEnd and generateBundle
        buildStart() { 
            if (isCopyDone) {
                return;
            }
            for (let key in files) {
                const src = key;
                const dest = files[key];

                try {
                    minifyFile(src, dest);
                } catch (err) {
                    fatal(name, src, dest, err);
                }
            }
            isCopyDone = …
Run Code Online (Sandbox Code Playgroud)

javascript build-tools rollupjs

5
推荐指数
1
解决办法
7656
查看次数