我有一个看起来像这样的链接(它有点难看,因为它是URL)
<a href="/items?fc%5B%5D=12345&fc%5B%5D=56789&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编码规则的吗?
请在视图中考虑以下代码:
<%= 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代码.
我想将 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)
<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)
再次运行“构建项目”。现在项目编译完成。 …
在介子构建系统中,我想从依赖项获取包含目录:
简单的例子 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)
如何从依赖项中获取包含目录以便在后续命令中使用?
在大多数文本编辑器和平台中,有两种使用鼠标选择文本的方法:
常规的 Click+Drag 会随着鼠标光标移动选择的结尾
双击+拖动,与#1 相同,但它从选择一个完整的单词开始,然后将选择的结尾对齐到整个单词
然而,在 Swing GUI 中,#2 不像上面那样工作。它通过选择整个单词在双击是正确启动,但随后它并没有选择过程中捕捉到整个单词。
有什么方法可以让 Swing 文本字段的行为与 2 相同,并且选择会对齐到整个单词?
我正在 LibreOffice 中处理一个 ODS 文件,我时不时地想将它从命令行转换为 CSV 。我已经发现了两个工具是:libreoffice --headless --convert-to csv
和unoconv -f csv
而当有正在运行的LibreOffice的UI实例他们没有工作。
有没有办法在 LibreOffice UI 实例运行时从命令行将 ODS 文件转换为 CSV?
java ×2
swing ×2
csv ×1
escaping ×1
html ×1
i18n-gem ×1
java-module ×1
libreoffice ×1
maven ×1
meson-build ×1
netbeans ×1
ods ×1
url ×1