我是 chrome(甚至浏览器)扩展的新手,我正在尝试制作一个将一些自定义 CSS 规则应用于某些页面元素的扩展。它似乎按预期工作,但有一些轻微的烦恼。
也就是说,当我使用 JS 应用任何 CSS 样式规则时,页面在浏览器中完全呈现到应用我的扩展的 CSS 规则之间似乎存在延迟。
我发现解决这个问题的一种方法是将我想立即应用到清单文件的 CSS 文件添加到 . 下content_scripts
,如下所示:
"content_scripts": [
{
"run_at": "document_start",
"all_frames": true,
"matches": ["<all_urls>"],
"js": ["filter.js"],
"css": ["filter.css"]
}
],
Run Code Online (Sandbox Code Playgroud)
但现在的问题是,我想检查用户是否在应用此扩展程序的弹出窗口中按下了“启用”按钮。为此,在filter.js
后台脚本中,我检查了 chrome 存储等,以查看用户是否将启用标志设置为 true。
然后我使用该chrome.tabs.insertCSS
方法插入我的 CSS 文件。
在用户在扩展上按下禁用的情况下,浏览器仍会呈现具有 效果的页面,filter.css
直到它运行 JS 以移除效果。到发生这种情况时,用户已经看到了filter.css
我不想要的效果。
我想要的是浏览器在页面显示给用户之前立即应用或不应用我的样式(取决于用户是否已启用/禁用)。
到目前为止,注入 CSS 的方法都导致了延迟。必须可以毫不拖延地将其添加到或删除 CSS,因为我使用了诸如 Dark Reader 之类的扩展程序,这些扩展程序似乎能够立即应用其样式,而无需在没有 CSS 的情况下显示浏览器内容。
理想情况下,有一种方法可以在清单中进行条件检查,但我知道这是不可能的。我还可以做些什么?
任何帮助,将不胜感激!
谢谢阅读!
我最初开始在大学编程并学习vb.net.现在我决定转向Java并进行一些查询.在vb中,try catch语句的布局如下
try
Catch ex as exception
finally
End catch
Run Code Online (Sandbox Code Playgroud)
但是从java网站(https://docs.oracle.com/javase/tutorial/essential/exceptions/putItTogether.html)我发现在java中你使用两个类似的捕获:
try {
} catch (ExceptionType name) {
} catch (ExceptionType name) {
}
Run Code Online (Sandbox Code Playgroud)
我希望有人可以解释为什么你需要在Java中捕获两次,以及各自捕获的捕获量是多少.
谢谢.
我试图通过在文本框中输入文本然后使用SQL查询数据库然后在datagridview中显示结果来搜索数据库中的特定值.
这是代码:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
Connection.Open()
Dim dataTable As New DataTable
Dim dataSet As New DataSet
dataSet.Tables.Add(dataTable)
Dim dataAdapter As New OleDbDataAdapter
Dim SQLQuery As String
SQLQuery = <sql>
SELECT *
FROM Students
WHERE StudentFirstName = @StudentFirstName
</sql> .Value
dataAdapter = New OleDbDataAdapter(SQLQuery, Connection)
dataAdapter.SelectCommand.Parameters.Add("@StudentFirstName", SqlDbType.Text).Value = txtStudentFirstname.Text
dataAdapter.Fill(dataTable)
dgrStudentDatabaseViewer.DataSource = dataTable.DefaultView
ShowItems()
Connection.Close()
End Sub
Run Code Online (Sandbox Code Playgroud)
对ShowItems()的调用刷新datagridview这里是它的代码
Private Sub ShowItems() ' the following delcleration are used for displaying the contents of …
Run Code Online (Sandbox Code Playgroud) vb.net ×2
.net ×1
browser ×1
css ×1
datagridview ×1
html ×1
java ×1
javascript ×1
oledb ×1
try-catch ×1