有没有办法让 webkit 的 javascript 正确处理空格?

2024-04-26

事实证明,在处理 XSLT 时,webkit 对于空格的处理似乎并不是特别好。它似乎对换行符、回车符、制表符和空格一视同仁,甚至到了这样的地步:substring-after('test string','
')将返回string.

有什么方法可以让它正常运行,或者这是 webkit 中的一个错误,没有解决方法?

编辑:这里有一些 javascript 演示了错误:

var parser = new DOMParser();
var xsltText = "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"version=\"1.0\"><xsl:template match=\"test\"><output><xsl:value-of select=\"string-length(substring-after(., '&#10;'))\"/></output></xsl:template></xsl:stylesheet>";
var xslt = parser.parseFromString(xsltText, "text/xml");
var xmlText = "<test>test string</test>";
var xml = parser.parseFromString(xmlText, "text/xml");
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslt);
var processed = xsltProcessor.transformToDocument(xml);
var result = processed.firstChild.textContent;

The result变量显然应该包含“0”;在 Safari 4 和 Chrome 8 中,它返回“6”。


我无法使用 Safari 5.0.3 重现该问题。 测试用例(浏览器窗口中加载的 XML 文档):

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test2011012801Xsl.xml"?>
<test>foo bar</test>

样式表在哪里

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:template match="/">
    <html>
      <head>
        <title>Test</title>
      </head>
      <body>
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="test">
    <p><xsl:value-of select="string-length(substring-after(., '&#10;'))"/></p>
  </xsl:template>

</xsl:stylesheet>

Windows 上的 Firefox (3.6) 和 Safari 中的输出均为“0”。因此,至少通过该测试,没有证据表明文本节点中的空格字符被视为换行符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法让 webkit 的 javascript 正确处理空格? 的相关文章

随机推荐

  • 动态更改 Dropzone url

    我正在尝试更改 dropzone 中的 URL 但我发现的信息似乎对我不起作用 我有一个表单 我正在使用 JS 放置一个拖放区 我想根据下拉列表中选择的选项来更改 dropzone URL 这是我正在使用的代码 Dropzone
  • 将 Hibernate linq 查询转换为 HQL

    我知道 IQueryable 无法序列化 这意味着查询无法序列化 发送到 Web 服务 反序列化 查询然后发回 我想知道是否可以将 hibernate linq 查询转换为 hql 以通过网络发送 我还缺少另一条路线吗 我想我已经看到 AD
  • 如何设置 PrimeFaces 主题?

    我正在尝试让我的 PrimeFaces v2 1 应用程序使用不同的主题 我下载了 vader 1 0 0 jar 并将其放在我的 WEB INF lib 文件夹中 我将以下内容添加到我的 web xml 中
  • 用 Python 绘制生成器的数据

    Python IPython Jupyter笔记本 中是否有任何接受的绘图选项发电机 AFAIK matplotlib不支持这一点 我发现的唯一选择是plot ly http plot ly使用他们的 Streaming API 但我不想使
  • 如何在 OpenCV 中更好地计算射线线段交点?并得到它的交点和距原点的距离?

    我有 4 条线段 A B C 和 D 每条线都表示为两个点 例如 线A由点A1和点A2表示 我想要的是 点 X 即线 A 射线与线 B 相交的点 X与A1 原点 之间的距离 测试相交时 线 A 射线不应 与线段 D 相交 与线段C相交 我该
  • 如何在 Swift 中将 CMutablePointer 设置为 false?

    基本上我在 Swift 中使用 AssetsLibrary 框架 如何将停止指针的值修改为 NO False 0 我什至不知道它应该除外什么值 self library enumerateGroupsWithTypes ALAssetsGr
  • 如何在 css 中对重新定位的 div 进行 z 索引

    Context 我正在尝试制作明显集中的菜单项 当鼠标悬停时改变颜色并扩大尺寸 虽然设置另一种颜色很容易 但尝试将其横向移动是一项比我想象的更复杂的任务 运动本身按其应有的方式工作 但项目的 z 索引变得混乱 Issue 背景颜色已按其应有
  • Cookie - 跨多个域设置

    我公司的设置如下 子域 1 域 1 子域名2 域名1 com 子域名3 域名1 com 子域名4 域名1 com 子域名5 域名1 com 子域名6 域名1 com 子域 1 域 2 子域 2 域 2 subdomain3 domain2
  • 是否可以为自定义组件(而不是 FormControl)创建一个验证器

    我正在尝试这样做 Directive selector myVal myCustomInputToComponent providers provide NG VALIDATORS useExisting forwardRef gt MyV
  • Windows 7 跳转列表(Windows 窗体、C#)

    有谁知道如何在 C 中自定义与我自己的应用程序相关的 Windows 跳转列表功能 我知道可以做到 但我在 MSDN 上找不到任何与 C Windows7 相关的内容 到目前为止 我能找到的与 W7 和 C 相关的唯一信息只是我已经阅读过的
  • 使用一个或多个标准 FIFO 队列实现延迟队列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 延迟队列是一种队列 其中每条消息都有
  • 二维数组,在 C 中使用 calloc

    我正在尝试创建一个二维字符数组来存储字符行 例如 lines 0 Hello lines 1 Your Back lines 2 Bye 由于行必须是动态的 因为我一开始不知道需要多少行 这是我的代码 int i char lines ch
  • Android:多个活动和手动切换视图哪个更好?

    我已经开发了一些 Android 应用程序 但这个问题始终存在 我应该如何构建我的用户界面 我应该在活动之后启动活动并让手机按下 后退 按钮 还是应该选择更优化但实现起来更复杂的方式手动切换视图 然后手动执行 后退 按钮功能 您认为 或知道
  • 如何在几年前拟合的逻辑回归中使用 R 中的预测函数?

    我有一个问题正在尝试解决 但没有成功 寻找了两天多 却没有得到任何线索 很抱歉 如果答案就在那里 但我没有找到 假设您有一个来自几年前估计的旧模型的逻辑方程回归 二元模型 因此 您知道参数 k k 1 2 p 因为它们是过去估计的 但您没有
  • MySQL 错误:#1142 - SELECT 命令被拒绝给用户

    我在一台服务器上的某个查询时遇到问题 在我测试过的所有其他地方 它工作得很好 但在我想使用它的服务器上 它不起作用 这是关于以下 SQL SELECT facturen id AS fid projecten id AS pid titel
  • 跨命名空间共享秘密

    有没有办法在 Kubernetes 中跨命名空间共享秘密 我的用例是 我的所有命名空间都有相同的私有注册表 并且我想避免为每个命名空间创建相同的秘密 秘密 API 对象驻留在命名空间中 它们只能由同一命名空间中的 pod 引用 基本上 您必
  • 限制在指定时间访问互联网

    我正在尝试做一个家长控制软件项目 我阻止了特定网站并使用主机文件取消阻止它们 后来 我尝试通过以编程方式禁用和启用 LAN 连接来禁用 启用互联网访问 C 有没有办法在特定时间阻止互联网访问 例如8 January 2013之间20 00
  • USB 端口速度 Linux [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何以编程方式确定运行 Linux 内核的嵌入式设备中的 USB 端口速度 你可以阅读 sys bus usb devices usb s
  • Trait 方法可以实现返回引用或拥有的值

    我正在尝试使用可以实现返回引用或拥有值的方法来定义特征 就像是 struct Type trait Trait type Value fn f self gt Self Value impl Trait for type Value Typ
  • 有没有办法让 webkit 的 javascript 正确处理空格?

    事实证明 在处理 XSLT 时 webkit 对于空格的处理似乎并不是特别好 它似乎对换行符 回车符 制表符和空格一视同仁 甚至到了这样的地步 substring after test string 10 将返回string 有什么方法可以