kotlinJS chrome扩展获取活动标签网址

时间:2018-04-23 20:22:09

标签: google-chrome-extension kotlin

我尝试按照教程创建Chrome扩展程序(https://github.com/apatrida/kotlin-example-chrome-ext/blob/master/src/main/kotlin/com/collokia/browserplugin/chrome/GoogleImageTest/Extension.kt

但是对于最新的kotlinjs版本来说似乎已经过时了。

我尝试使用此代码

获取活动标签网址
fun getActiveTabURL(): String {
var url = "NotInit"
chrome.tabs.query(chrome_tabs_CurrentTabQuery()) {
    tabs ->
        println("tabsssssssss")
        url = tabs[0].url ?: "NULL"
        println("print url $url")

}
println(url)
return url

}

但它似乎不起作用本教程使用像native这样的关键字,但我不能在我的IDE(IntelliJ)上使用它们

external object chrome {
object tabs {
    object Tab {
        var status: String?
        var index: Number
        var openerTabId: Number?
        var title: String?
        var url: String?
        var pinned: Boolean
        var highlighted: Boolean
        var windowId: Number
        var active: Boolean
        var favIconUrl: String?
        var id: Number
        var incognito: Boolean
    }
    public fun query(queryInfo: Any, callback: (result: Array<Tab>) -> Unit): Unit = definedExternally
}
}

class chrome_tabs_CurrentTabQuery() {
val active = true;
val currentWindow = true
}

你知道什么是错的或者是最近的一个例子吗? 我得到了一个

Uncaught TypeError: Cannot read property 'query' of undefined
at getActiveTabURL (kotlinextensiontest.js:61)
at main (kotlinextensiontest.js:20)
at kotlinextensiontest.js:122
at kotlinextensiontest.js:125

1 个答案:

答案 0 :(得分:0)

如果我点击扩展按钮,它在单独的选项卡上进行测试并且无法正常工作。谢谢你的帮助