小编Vie*_*wed的帖子

如何在数据库房间保存枚举字段?

我必须将enum枚举中的值写入数据库。编译时发生错误。我究竟做错了什么?

无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。

@ColumnInfo(name = "state_of_health")
@TypeConverters(HealthConverter::class)
var health: Health

enum class Health(val value: Int){
    NONE(-1),
    VERY_BAD(0),
    ...
}

class HealthConverter{

    @TypeConverter
    fun fromHealth(value: Health): Int{
        return value.ordinal
    }

    @TypeConverter
    fun toHealth(value: Int): Health{
        return when(value){
            -1 -> Health.NONE
            0 -> Health.VERY_BAD
            ...
            else -> Health.EXCELLENT
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

enums android converters kotlin android-room

36
推荐指数
5
解决办法
2万
查看次数

Service Worker 注册失败。Chrome 扩展程序

我不明白如何在 Service Worker 的一部分中从清单 v2 迁移到 v3。发生错误Service worker registration failed

// manifest.json
"background": {
    "service_worker": "/script/background/background.js"
},
Run Code Online (Sandbox Code Playgroud)
// background.js
chrome.runtime.onInstalled.addListener(onInstalled);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

google-chrome-extension service-worker

23
推荐指数
2
解决办法
1万
查看次数

Service Worker 的 URL.createObjectURL 的模拟是什么

对于清单v2,我用于URL.createObjectURL将文件从backgroundto返回content。如何使用清单v3和 Service Worker 来实现这一点?我知道XMLHttpRequestfetch。但什么模拟URL.createObjectURL呢?

// background.js
function onContentMessage(message, sender, sendResponse) {
    if (message.action == 'requestFileGET') {
        requestFileGET(message.url, (url) => sendResponse(url));
    }
    return true;
}

function requestFileGET(url, callback) {
    let request = new XMLHttpRequest();
    request.responseType = 'blob';
    request.onreadystatechange = function () {
        if (request.readyState == 4) {
            let url = URL.createObjectURL(request.response);
            callback(url);
        }
    };
    request.open('GET', url);
    request.send();
}
Run Code Online (Sandbox Code Playgroud)
// content.js
backgroundFileGET(urlCover, (cover) => {
    let …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-extension service-worker

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

为什么 iframe 仅在 iOS 中是空白的?

有一个 html 页面可以在任何 Windows 和 Android 上正常工作(显示 iframe 的内容)。由 Github Pages 托管。它适用于 iOS 版本12.5.1,但不适用于14.6(Chrome、Safari、Opera上的空白页面)。为什么?

  • src维基百科试过- 一切正常。问题归结为 iframe 和src应用程序脚本的组合(分别正确打开)
  • 假设问题是http/https根据post混合。只是http风格http://www.w3.org/2000/svg,我改为https(甚至删除了所有风格)。没有效果。
  • 没有日志错误,只有空白页。似乎试图加载,但中断并停止。我没有要调试的 ios 设备。反馈用户。

如果您有 iOS 14,可以尝试打开此站点。你看到什么空白页或访问错误?

像下一个错误是正确的。它告诉你没有访问。

拒绝在框架中显示“accounts.google.com/...”,因为它将“X-Frame-Options”设置为“DENY”

如果您登录Google 帐户并重试,则 Google 云端硬盘会出错。我在隐身模式下的任何平台上都拥有这一切。不要关注他们。

对空白屏幕/停止加载的情况感兴趣,如下面的截图

iOS 14.6

在此处输入图片说明

视窗

在此处输入图片说明

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Goofy</title>
    <style>
        html, body, …
Run Code Online (Sandbox Code Playgroud)

html iframe google-apps-script ios ios14

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

如何传递扩展函数作为参数?

有扩展功能

fun List<Track>.sortByTitle(): List<Track> {
    return this.sortedBy { it.title }
}

fun List<Track>.sortByArtist(): List<Track> {
    return this.sortedBy { it.artists[0].name }
}
Run Code Online (Sandbox Code Playgroud)

sort为了传递扩展函数,需要在函数的参数中写入什么?

fun sortByTitle(owner: String, kind: String) {
    sort(owner, kind) // pass List<Track>.sortByTitle
}

fun sortByArtist(owner: String, kind: String) {
    sort(owner, kind) // pass List<Track>.sortByArtist
}

private fun sort(owner: String, kind: String) {
    val remote = playlist.get(owner, kind)
    val tracks = // call extension function: remote.tracks.sortByTitle()
    // ...
}
Run Code Online (Sandbox Code Playgroud)

kotlin

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

为什么脚本逐行工作,但不能整体工作?

如果我全部通过Chrome控制台运行此脚本,则会收到错误消息

Uncaught TypeError:无法读取未定义的属性“播放列表”

var owner = "yamusic-trending"
var kind = "1000"
var url = `https://music.yandex.ru/handlers/playlist.jsx?owner=${owner}&kinds=${kind}&light=false`

json = $.getJSON(url)
var tracks = json.responseJSON["playlist"]['tracks']
Run Code Online (Sandbox Code Playgroud)

如果逐行

json = $.getJSON(url)
Run Code Online (Sandbox Code Playgroud)

然后

var tracks = json.responseJSON["playlist"]['tracks']
Run Code Online (Sandbox Code Playgroud)

错误不是。为什么?

javascript jquery json get

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