小编foo*_*olo的帖子

带方括号的编码URL.Chrome/Firefox/IE中的不同行为

我有一个看起来像这样的链接(它有点难看,因为它是URL)

<a href="/items?fc%5B%5D=12345&amp;fc%5B%5D=56789&amp;utf8=%E2%9C%93">foo</a>
Run Code Online (Sandbox Code Playgroud)

有点清楚,它是URL编码并转换为

<a href="/items?fc[]=12345&fc[]=56789&utf8=?">foo</a>
Run Code Online (Sandbox Code Playgroud)

提交表单时,目标URL在不同的浏览器中看起来不同:

在Firefox中,它看起来像是期望的:

http://mydomain/items?fc[]=12345&fc[]=56789&utf8=?
Run Code Online (Sandbox Code Playgroud)

在Chrome中,方括号显示为URL编码(当使用其中许多地址时,它会给出非常难看且非专业的地址).

http://mydomain/items?fc%5B%5D=12345&fc%5B%5D=56789&utf8=?
Run Code Online (Sandbox Code Playgroud)

在IE9(及更早版本)中,所有内容都显示为URL编码:

http://mydomain/items?fc%5B%5D=12345&fc%5B%5D=56789&utf8=%E2%9C%93
Run Code Online (Sandbox Code Playgroud)

我可以使用"utf8 = ..."部分,因为它只是IE中的一个问题.但是,当方括号明确键入URL时,没有一个浏览器处理有任何问题,所以我不明白为什么Chrome和IE,但不是Firefox必须用URL编码显示括号.

由于表单的html代码在所有浏览器中都是相同的,我认为这与浏览器有关,而不是与站点(在这种情况下是Ruby on Rails站点)有关

编辑:那么澄清我的实际问题:为什么这有所不同?有没有办法让它在至少Chrome中看起来很好看?它可以通过在href ="..."中不进行URL转义来修复,但我认为这是针对URL编码规则的吗?

html url escaping cross-browser

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

从I18n"缺少翻译"消息中删除html标签

请在视图中考虑以下代码:

<%= link_to 'Delete!', item ,  :confirm => t('action.item.confirm_deletion'), :method => :delete %>
Run Code Online (Sandbox Code Playgroud)

它通常会出现:

<a href="/items/123" data-confirm="Confirm deletion?" data-method="delete" rel="nofollow">Delete!</a>
Run Code Online (Sandbox Code Playgroud)

但是如果由于某种原因(不完整的yml文件,拼写错误等)缺少action.item.confirm_deletion的翻译,它会出现:

<a href="/items/123" data-confirm="<span class="translation_missing" title="translation missing: sv.action.item.confirm_deletion">Confirm Deletion</span>" data-method="delete" rel="nofollow">Delete!</a>
Run Code Online (Sandbox Code Playgroud)

这是无效的html,用户将在主页上看到损坏的html标签.在某些情况下,它也可能存在安全风险.

我知道我可以在每次调用I18n.t函数时使用应用一些转义,但这对于任务来说感觉不必要地重复.

所以我的问题是:有没有办法让"翻译缺失" - 消息不包含HTML代码.

ruby-on-rails i18n-gem

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

Netbeans Swing GUI Builder 不适用于 java-module 项目和 Maven

我想将 Netbeans 的 Swing GUI 构建器与 Maven 项目和 java 模块一起使用。如果将它们编译为 java 模块的一部分,则 GUI Builder 似乎找不到已编译的类。它给出了错误“加载组件时出错(...)无法加载组件类(...)”(请参阅​​示例末尾屏幕截图中的整个错误)

我已经使用 Netbeans 11 将其固定为一个最小的示例:

  • File > New Project > Java with Maven > Java Application(使用默认建议并单击完成)

  • 在“Source Packages”下的项目树中,右键单击并添加一个新的 JFrame 和一个 JPanel。

  • 编译项目(运行 > 构建项目),以便您可以在 GUI Builder 中使用这些类

  • 使用 GUI Builder,通过在设计模式下打开 JFrame 并将 JPanel 拖到 JFrame,将 JPanel 的实例添加到 JFrame。

  • 通过添加文件将项目更新为使用 java 模块src/main/java/module-info.java

module MavenGuiTest {
    requires java.desktop;
    requires java.logging;
}

Run Code Online (Sandbox Code Playgroud)
  • 再次运行“构建项目”。Netbeans 然后检测到它现在是一个 java 模块项目并显示一个对话框: 在此处输入图片说明

  • 点击Yes,在pom.xml中添加如下内容:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
            </plugin>
        </plugins>
    </build>
Run Code Online (Sandbox Code Playgroud)
  • 再次运行“构建项目”。现在项目编译完成。 …

java swing netbeans maven java-module

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

如何从介子构建系统中的依赖项获取包含目录

在介子构建系统中,我想从依赖项获取包含目录:

简单的例子 meson.build,使用 wxWidgets dependentecy 为例:

project('project1', ['cpp'])

wxdep = dependency('wxWidgets')

wxincludes =    # ... how to get the include directories from wxdep ?

# in this case, wxincludes will be used to compile a resource file:
windows = import('windows')
windows.compile_resources('test.rc', include_directories: [wxincludes])
Run Code Online (Sandbox Code Playgroud)

如何从依赖项中获取包含目录以便在后续命令中使用?

meson-build

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

Java Swing 双击 + 拖动以选择整个单词

在大多数文本编辑器和平台中,有两种使用鼠标选择文本的方法:

  1. 常规的 Click+Drag 会随着鼠标光标移动选择的结尾

  2. 双击+拖动,与#1 相同,但它从选择一个完整的单词开始,然后将选择的结尾对齐到整个单词

然而,在 Swing GUI 中,#2 不像上面那样工作。它通过选择整个单词在双击是正确启动,但随后它并没有选择过程中捕捉到整个单词。

有什么方法可以让 Swing 文本字段的行为与 2 相同,并且选择会对齐到整个单词?

java swing

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

在 Libreoffice 实例运行时使用命令行将 ODS 转换为 CSV

我正在 LibreOffice 中处理一个 ODS 文件,我时不时地想将它从命令行转换为 CSV 。我已经发现了两个工具是:libreoffice --headless --convert-to csvunoconv -f csv而当有正在运行的LibreOffice的UI实例他们没有工作。

有没有办法在 LibreOffice UI 实例运行时从命令行将 ODS 文件转换为 CSV?

csv data-conversion libreoffice ods

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