小编jme*_*vin的帖子

在版权符号前插入特殊字符 'Â'

我们的源代码在每个 CSS 文件的顶部都包含版权...

/* 版权所有 © ... */

Firefox 样式编辑器每次加载 CSS 文件时,都会在版权符号前插入一个特殊字符...

/* 版权所有© ... */

每次加载文件时,它都会添加一个额外的特殊字符。我不认为这仅限于 Firefox,但这就是我目前用于 CSS 动态样式的方法。每次都必须删除这个字符很烦人,偶尔它会进入提交和推送。

问题:如何防止特殊字符插入?

firefox stylesheet character-encoding

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

无法在 Firefox 中禁用虚拟断点

浏览器:Mac OSX Catalina 上的 Firefox 79

Firefox 调试器会在未设置断点的地方暂停 JavaScript 执行。这使得调试器毫无用处,因为我无法快速到达下游感兴趣的代码。有没有办法禁用这些幻象断点?注意:我没有在代码中放置任何调试器语句。这是普通的 JS 代码。

屏幕截图...(注意没有设置断点,并且消息“在断点处暂停”为黄色。)

在此输入图像描述

debugging firefox breakpoints

6
推荐指数
0
解决办法
413
查看次数

使用适用于 Android 13 的 Cordova 12 在 AndroidManifest 中复制 WRITE_EXTERNAL_STORAGE 权限

介绍使用 Cordova 12 的应用程序,该应用程序需要目标 SDK Android 13 / API 33。我的应用程序依赖于以下插件(以及许多其他插件)...

cordova-plugin-camera
cordova-plugin-media-capture
Run Code Online (Sandbox Code Playgroud)

这两个插件都会在 AndroidManifest.xml 中插入权限。升级到 Cordova 12 并将 targetSdk 设置为 33 后,构建尝试合并权限失败...

> Task :app:processReleaseMainManifest FAILED
/Users/jmelvin/dev/sizzlescene/repos/mobile/platforms/android/app/src/main/AndroidManifest.xml:47:5-108 Error:
        Element uses-permission#android.permission.WRITE_EXTERNAL_STORAGE at AndroidManifest.xml:47:5-108 duplicated with element declared at AndroidManifest.xml:26:5-81
Run Code Online (Sandbox Code Playgroud)

以下是 cordova-plugin-camera 插件插入的属性...

11a12,14
>         <provider android:authorities="${applicationId}.cordova.plugin.camera.provider" android:exported="false" android:grantUriPermissions="true" android:name="org.apache.cordova.camera.FileProvider">
>             <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/camera_provider_paths" />
>         </provider>
22a26,41
>     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
>     <queries>
>         <intent>
>             <action android:name="android.media.action.IMAGE_CAPTURE" />
>         </intent>
>         <intent>
>             <action android:name="android.intent.action.GET_CONTENT" />
>         </intent>
>         <intent> …
Run Code Online (Sandbox Code Playgroud)

android-manifest cordova android-permissions cordova-plugin-camera

6
推荐指数
1
解决办法
2640
查看次数

使用CSP img-src*的Chrome仍会阻止图像

我的webapp有一个内容安全策略,它将img-src设置为*(从任何地方加载图像),但Chrome仍会阻止某些图像加载...

拒绝加载图像'data:image/webp; base64,UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA ==',因为它违反了以下内容安全策略指令:"img-src*".lg @js?libraries = places,geometry&v = 3&callback = async_req_1:84(匿名函数)@js?libraries = places,geometry&v = 3&callback = async_req_1:119google.maps.Load @js?libraries = places,geometry&v = 3&callback = async_req_1: 21(匿名函数)@js?libraries = places,geometry&v = 3&callback = async_req_1:118(匿名函数)@js?libraries = places,geometry&v = 3&callback = async_req_1:119

如果我在指令中包含'data:',则控制台中不会显示错误.

img-src*data:;

但是,这不是有效的指令.是否有一个img-src有效的CSP值可以满足Chrome或者这可能是一个Chrome错误?我无法在可访问的错误列表中找到任何直接匹配.我猜测这可能与SVG文件中嵌入的图像有关.Firefox和Safari不会出现此行为.

google-chrome content-security-policy

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

在iOS上CSS过渡事件非常慢

我正在开发一个单页Javascript应用程序,该应用程序可以在桌面浏览器上运行,也可以通过Cordova / Phonegap在移动设备上运行。

我有一个使用CSS过渡实现的滑出菜单。我注意到它在桌面浏览器和android上都能很好地工作。但是,在IOS上存在严重的性能问题。过渡似乎并未按时开始,但是过渡一旦开始,呈现效果和持续时间就很好了。在IOS上,开始过渡到Transitionend事件之间的时间比其他平台长得多。例如,过渡持续时间为300毫秒,但我没有在1500毫秒内获得transitionend事件。在所有其他平台上,我在325-350毫秒内收到了transitionend事件。

过渡事件:

  • 预期:350ms
  • 实际:1500ms

平台:

  • 科尔多瓦6.3.1
  • Xcode 8.1 GM种子
  • iOS 10.1

这是菜单div的CSS。要滑出菜单,我添加了“打开”类。要关闭菜单,请删除“打开”类。我尝试在“ left”属性和“ transform”属性上进行过渡,但是结果是相同的。

/* Nav Menu */

#navmenu {
    position: absolute;
    top: 0;
    width: 90%;
    max-width: 400px;
    z-index: 20;
    height: auto;
    background-color: white;
    /*
    -webkit-transform: translate3d(-100%,0,0);
       -moz-transform: translate3d(-100%,0,0);
        -ms-transform: translate3d(-100%,0,0);
            transform: translate3d(-100%,0,0);
    -webkit-transition: -webkit-transform 300ms ease;
       -moz-transition:    -moz-transform 300ms ease;
        -ms-transition:     -ms-transform 300ms ease;
         -o-transition:      -o-transform 300ms ease;
            transition:         transform 300ms ease;
    */
    left: -100%;
    -webkit-transition: left 300ms ease;
       -moz-transition: left 300ms ease;
        -ms-transition: left 300ms …
Run Code Online (Sandbox Code Playgroud)

javascript css animation css-transitions

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

使用 requirejs 异步插件时捕获 Google Maps API 错误

我正在部署一个 JS 应用程序,它依赖于 Google 地图。我使用 RequireJS 的异步插件加载了 Google Maps SDK for JS ...

mapsKey = '&key=' + MY_API_KEY;
mapsURL = 'https://maps.googleapis.com/maps/api/js?libraries=places,geometry&v=3' + mapsKey;
define('GoogleMaps', ['async!' + mapsURL], function() {
    return window.google.maps;
});
Run Code Online (Sandbox Code Playgroud)

我从我们的服务器获取 MY_API_KEY ,因为我不想在应用程序代码中使用它。如果我们的服务器暂时不可用并且无法获取密钥值,或者由于某种原因 Google 拒绝了 API 密钥,则会出现控制台错误...

"Google Maps API error: Google Maps API error: InvalidKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key-map-error"
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,应用程序中有一个丑陋的弹出窗口......

在此处输入图片说明

我在 Google 上设置了有效的 API 密钥,一切正常。但如果出现加载错误,我想在没有 API 密钥的情况下重试。Google 确实会在 JS 控制台中发出有关缺少密钥的警告,但至少现在它仍然是最后的手段。

问题:如何捕捉 Google Maps API 错误?

该错误是在加载过程中从 Google 地图库中抛出的。这不是超时,而是无效的关键参数错误。检查生成的 window.google.maps 实例不是一个选项,因为丑陋的弹出消息已经显示。我看不到捕获错误并防止弹出窗口的方法。作为最后的手段,我想提供一些防御性代码以在没有 API 密钥的情况下重试。

javascript google-maps google-maps-api-3

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