如何使用JavaScript安全地对URL进行编码,以便将其放入GET字符串?
var myUrl = "http://example.com/index.html?param=1&anotherParam=2";
var myOtherUrl = "http://example.com/index.html?url=" + myUrl;
Run Code Online (Sandbox Code Playgroud)
我假设你需要myUrl在第二行编码变量?
我是PHP中使用双引号的大用户,这样我就可以插入变量而不是连接字符串.因此,当我生成HTML时,我经常使用单引号来设置标记字段.例如:
$html = "<input type='text' name='address' value='$address'>";
Run Code Online (Sandbox Code Playgroud)
现在,这对我来说比任何一个都更具可读性
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
Run Code Online (Sandbox Code Playgroud)
要么
$html = '<input type="text" name="address" values="' . $address . '">' ;
Run Code Online (Sandbox Code Playgroud)
从简短的搜索中我听到有人说每个浏览器都无法识别HTML字段的单引号.因此,我想知道哪些浏览器在识别单引号HTML时会出现问题?
无法在mailto链接中使多行正常工作
在我的情况下,我正在使用Outlook默认邮件阅读器进行测试.
以下是一个锚点href:
mailto:email@address.com?&subject=test&body=type%20your&body=message%20here
只有"此处的消息"显示在电子邮件正文中.(我是否使用chrome或IE)
想法?
<a href="#/search?query={{address}}" ng-repeat="address in addresses">
{{address}}
</a>
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话,会生成非url编码的链接.编码的正确方法是#/search?query={{address}}什么?
示例地址是1260 6th Ave, New York, NY.
HTML和JavaScript编程的最佳参考站点:
在JavaScript中,有什么区别
我正在修改由另一方创作的一些XHTML文件.作为这项工作的一部分,我正在通过Linq到XML进行批量编辑.
我刚刚注意到一些原始的源XHTML文件在这些文件中的文本节点中包含"HTML实体.例如:
<p>Greeting: "Hello, World!"</p>
Run Code Online (Sandbox Code Playgroud)
而当通过XElement.ToString()恢复XHTML文本时,"实体将被普通的双引号替换:
<p>Greeting: "Hello, World!"</p>
Run Code Online (Sandbox Code Playgroud)
问题:任何人都可以告诉我原作者使用"实体而不是普通双引号的动机是什么?这些实体是否达到了我不完全理解的目的?或者,我怀疑他们真的没必要吗?
我确实理解"在某些情况下是必要的,例如当需要在HTML属性中放置双引号时.例如:
<a href="/images/hello_world.jpg" alt="Greeting: "Hello, World!"">
Greeting</a>
Run Code Online (Sandbox Code Playgroud) 试试看:
encodeURIComponent("'@#$%^&");
Run Code Online (Sandbox Code Playgroud)
如果你试试这个,你会看到所有特殊字符都被编码,除了单引号.我可以使用什么函数对所有字符进行编码并使用PHP对其进行解码?
谢谢.
我在JavaScript中处理utf-8字符串并需要转义它们.
escape()/ unescape()和encodeURI()/ decodeURI()都可以在我的浏览器中使用.
逃逸()
> var hello = "?????"
> var hello_escaped = escape(hello)
> hello_escaped
"%uC548%uB155%uD558%uC138%uC694"
> var hello_unescaped = unescape(hello_escaped)
> hello_unescaped
"?????"
Run Code Online (Sandbox Code Playgroud)
是encodeURI()
> var hello = "?????"
> var hello_encoded = encodeURI(hello)
> hello_encoded
"%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94"
> var hello_decoded = decodeURI(hello_encoded)
> hello_decoded
"?????"
Run Code Online (Sandbox Code Playgroud)
虽然encodeURI()和decodeURI()使用上面的utf-8字符串,但docs(以及函数名称本身)告诉我这些方法适用于URI; 我没有看到任何地方提到的utf-8字符串.
简单地说,对于utf-8字符串使用encodeURI()和decodeURI()是否可以?