小编pkE*_*xec的帖子

如何让svg <image>元素出现在safari/ios中

我的场景:我正在显示传单地图.地图有几个图块,每个图块可能包含一个或多个图标.以下是瓷砖的外观:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" pointer-events="none" width="256" height="256" viewBox="0 0 256 256" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(455px, -4px, 0px); opacity: 1;">
    <g></g>
    <image x="213.9375" y="252.875" width="19px" height="19px" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA/1JREFUWIXll21olWUYx3/Py9nZc8523uZyW+Z8gVXK3Dw2iJx0ilGGKVOnOIp0RJjRhyDWSAgJI4R9mA2hpohGVKizpQZGG4MWM5ZntnK1mQutdQz3ctzOzs778zx9sJ1tsJdzju5DdH26r+u+r+v/4+J57hf4v5swMcjLy9sVDAarBUFQF1JQ13XJZDId8ng8Z6YBOByOKzU1NWudTudC6uN2u6mtrXV7vd4SAHnKXMzpdFJWVpZYJV0j0N1I+EYbtk11CJIhoTRVVRFFMd5lea7Fs1n4Zhu+1veIDvx6NyCI2DfXp1IqOYDoYC++1oOEb3w7LR785QtkWz6ZG95cGADVf5uxtloCV0+Drs24Zqy9Dsm2FFPhjvsHoEfG8Xd8iP+HBvRocN5ioxerkSx5GPPXJwwgziJNoOtTbjeUMtZ+OCFxAF2LcafpFWLD1+8RQFMJ9pxDGx9MuFA8NeRj+PRLCefOCDB2qR7LM+8jLypIGgBAHe3H21iFHgulBhAbusbIuX04yj9CylicEkTk7y7unH991o92TgBdU4kO9DDacgB7xUmEtIyUIEK/fY2v9WDyABPU4ZvfEXAfx7HtKIKY0p6F//Ixxq+cTBJAmAwHuhuJ/NmB9bnalAAARpsPEOprSRzAsqEa0ZgZ98cufQBqNKWdDkA0ZqAFvYkDyNkPY992fNoBM/LNftJyizEVVSauLEiYnbvJqjyFYDAnDgBgzH8C26Y64ie2FsP75auYi17AuMI1r7ZxWSmLXmzC8MAqQr1fYch+JDkAAGVVORbX23Ffj4wzfLYK69PvYMgpnDFHtuVj33oMc8legj3nkawPkbbcRfiP9uQBADIefw3zuqq4r40P4m3ai33LESTrknhcSMvA4tqPbetRord+RPMPYC6uJPLXZWIDPSiPbk4NAMBa9i7pBRvjfmy4j5GLb+GoOIGo2DGt2UX27gsIkoHw9WaUwu3oWoxAdxPpBRsRTXYCP51KHQBBxL7lCGkPPhYPRfo78LfXs3jf96SvfIpA12fIOcUYcosIdH2ObF2CcfmTBK6eQZAVzCUv3wMAIMjpOCpOIDtWxmPB3guoPg8A6au3E+5rnmy9x01s6BqZ698gveDZWa9sCQMAiIqdrJ2fIJqzJ8GMVlTfLcJ9LdNar6wux7xuD6Jim7tmMgAAkm0pWTs+Rki7+1/r0XHknLWTrbfnY3HVTOvUfQUAMOSswVHeAKKMrqqEf29GCwxhcdVgXFbKlNv+vJbaCQMYV7iwP38YSbFidu5BsuSmVCcOoOu67Ha7UdVkHkYK9Hf9O/45oYzOzk40TZMm/KlPs52hUKh66qNhIUzTNElRlEMej+fsQur8d+wfq09oFkuvTdQAAAAASUVORK5CYII=" class="" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA/1JREFUWIXll21olWUYx3/Py9nZc8523uZyW+Z8gVXK3Dw2iJx0ilGGKVOnOIp0RJjRhyDWSAgJI4R9mA2hpohGVKizpQZGG4MWM5ZntnK1mQutdQz3ctzOzs778zx9sJ1tsJdzju5DdH26r+u+r+v/4+J57hf4v5swMcjLy9sVDAarBUFQF1JQ13XJZDId8ng8Z6YBOByOKzU1NWudTudC6uN2u6mtrXV7vd4SAHnKXMzpdFJWVpZYJV0j0N1I+EYbtk11CJIhoTRVVRFFMd5lea7Fs1n4Zhu+1veIDvx6NyCI2DfXp1IqOYDoYC++1oOEb3w7LR785QtkWz6ZG95cGADVf5uxtloCV0+Drs24Zqy9Dsm2FFPhjvsHoEfG8Xd8iP+HBvRocN5ioxerkSx5GPPXJwwgziJNoOtTbjeUMtZ+OCFxAF2LcafpFWLD1+8RQFMJ9pxDGx9MuFA8NeRj+PRLCefOCDB2qR7LM+8jLypIGgBAHe3H21iFHgulBhAbusbIuX04yj9CylicEkTk7y7unH991o92TgBdU4kO9DDacgB7xUmEtIyUIEK/fY2v9WDyABPU4ZvfEXAfx7HtKIKY0p6F//Ixxq+cTBJAmAwHuhuJ/NmB9bnalAAARpsPEOprSRzAsqEa0ZgZ98cufQBqNKWdDkA0ZqAFvYkDyNkPY992fNoBM/LNftJyizEVVSauLEiYnbvJqjyFYDAnDgBgzH8C26Y64ie2FsP75auYi17AuMI1r7ZxWSmLXmzC8MAqQr1fYch+JDkAAGVVORbX23Ffj4wzfLYK69PvYMgpnDFHtuVj33oMc8legj3nkawPkbbcRfiP9uQBADIefw3zuqq4r40P4m3ai33LESTrknhcSMvA4tqPbetRord+RPMPYC6uJPLXZWIDPSiPbk4NAMBa9i7pBRvjfmy4j5GLb+GoOIGo2DGt2UX27gsIkoHw9WaUwu3oWoxAdxPpBRsRTXYCP51KHQBBxL7lCGkPPhYPRfo78LfXs3jf96SvfIpA12fIOcUYcosIdH2ObF2CcfmTBK6eQZAVzCUv3wMAIMjpOCpOIDtWxmPB3guoPg8A6au3E+5rnmy9x01s6BqZ698gveDZWa9sCQMAiIqdrJ2fIJqzJ8GMVlTfLcJ9LdNar6wux7xuD6Jim7tmMgAAkm0pWTs+Rki7+1/r0XHknLWTrbfnY3HVTOvUfQUAMOSswVHeAKKMrqqEf29GCwxhcdVgXFbKlNv+vJbaCQMYV7iwP38YSbFidu5BsuSmVCcOoOu67Ha7UdVkHkYK9Hf9O/45oYzOzk40TZMm/KlPs52hUKh66qNhIUzTNElRlEMej+fsQur8d+wfq09oFkuvTdQAAAAASUVORK5CYII=" style="pointer-events: auto;"></image>
</svg>
Run Code Online (Sandbox Code Playgroud)

导致Chrome,Firefox(通过devtools检查):

在此输入图像描述

但是,在Safari中,不会渲染图标.元素在那里,但缺少图片.截图来自browserstack for safari,ios6.突出显示的蓝色框是元素(再次通过devtools检查),显示元素处于适当位置,具有正确的尺寸,但没有显示图像:

在此输入图像描述

已经试过:

  • 使用图像资源的绝对和相对URL路径而不是内联base64.没有区别.该图像也托管在同一个域中,不适用跨域问题.
  • 使用xlink:href和href的各种组合(只需xlink:href,只需href等).
    • 修改image/svg标记.根据建议添加了适当的命名空间和xlink:href标记(默认库仅使用href).

没有尝试过:

  • 完全取代传单的svg机制与另一个(比如... 画布).大部分的应用程序依赖于SVG渲染器,所以我宁愿不去那里.

除了更换svg渲染器之外,我还能尝试其他任何建议吗?

最低可重复的示例:https: //jsfiddle.net/tocxvxy3/3/

safari svg leaflet

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

包含在"WHERE ... IN"子句中的udf中的奇怪错误

我有一个分割字符串的功能(为了清晰起见粘贴在最后).单独使用时,此功能可按预期工作.例:

SELECT value
FROM dbo.mg_fn_Split('2#1','#')
Run Code Online (Sandbox Code Playgroud)

返回

-- value --
--   2   --
--   1   --
-----------
Run Code Online (Sandbox Code Playgroud)

但是当在"WHERE IN"子句中使用时,就像在这个例子中一样(稍后在tableA上更多):

SELECT * FROM TableA WHERE TableA.id IN
(
  SELECT value
  FROM dbo.mg_fn_Split('2#1','#')
)
Run Code Online (Sandbox Code Playgroud)

我收到错误:"传递给LEFT或SUBSTRING函数的长度参数无效."

这里使用TableA作为示例.使用不同的表(假设它们具有id列)有时会返回正确的结果,而在其他表上我得到错误.

我假设它与执行顺序有关,但我仍然没有看到什么可能"破坏"该功能.

我正在寻找一个"正在发生什么"的解释,而不是"使用它".我知道我可以使用连接来获得结果.

功能定义:

-- Description: Returns a table containing the results of a string-split operation.
-- Params:
--      DelimitedList: The string to split
--      Delimiter: The delimiter char, defaults to ','
-- Columns:
--      Position - The char index of the item
--      Value - The actual …
Run Code Online (Sandbox Code Playgroud)

sql user-defined-functions sql-server-2008

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

带有指针事件和鼠标滚动的 Chrome 错误?

小提琴重现:调整大小直到出现垂直滚动条:http : //jsfiddle.net/yxf1v60x/2/embedded/result/

预期行为:鼠标滚轮在黄色区域上使用时滚动。

观察到的行为:在 Chrome 中不起作用,在 Firefox 中工作正常。


HTML代码:

<div class="parent"><input /><div class="child"><div class="subChild"><input /></div></div></div>
Run Code Online (Sandbox Code Playgroud)

CSS代码:

html,body{

  overflow:hidden;
  height: 100%;
  width: 100%;
}
.parent {
  pointer-events:none;        
  position: absolute;
  z-index:10;
  top:0px;
  left:0;
  right:0;
  bottom:0px;
  background-color:#ff0000;
  height: auto;
  overflow-y:auto;
}
.child {
    pointer-events:auto;
    position: absolute;
    z-index:11;
    top:50px;
    left:0;
    right:0;
    bottom: 0;
    max-height: 100%;
    background-color:#0000FF;
}
.subChild{
    height: 500px;
    background-color:yellow;
    width: 100%;
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我不确定这里发生了什么:指针事件显然适用于黄色区域,因为相关的输入元素是可点击的。通过键盘滚动也可以(尝试向上/向下翻页,重点放在黄色区域)。

a) 这是 Chrome 的错误吗?

b) 我可以在保持父子绝对定位的同时避免它吗?我不希望在父元素上有指针事件。

css google-chrome

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

FancyBox - "不再显示此消息"按钮?

我在他们访问时弹出的网站上有FancyBox,里面有一些信息.我想添加一些用户可以点击的按钮,并设置一个cookie,大约一个月左右不会显示该消息.

当涉及到这样的事情时,我很无用,所以如果有人能够告诉我该怎么做,那将是非常棒的.

这是我到目前为止所拥有的.在底部,我添加了我认为可能是建议的cookie("noShow")的锚,但我不确定它是否会像它一样工作.我已经加载的所有的jQuery的脚本此之前的fancybox,经过这些加载jquery.cookie.js了.如果重要的话,我正在使用FancyBox 2的最新下载.

<script type="text/javascript"> 
function openFancy() { 
setTimeout( function() {$('#autoStart').trigger('click'); },1000);
} 

$(document).ready(function() {
    openFancy();
    $('#autoStart').fancybox();
});
</script>

<!-- This is the popup itself -->
<a id="autoStart" style="display:none" href="#autoFancybox"></a>
 <div style="display: none;">
  <div id="autoFancybox" style="width: 800px">
   <div>
    <!-- My content for the Fancybox is here -->
    <br />
    <p style="font-size:10px" align="right">
    <a id="noShow" href="#noShow">Don't me show this message again</a>
    </p>
   </div>
  </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

谢谢,利亚姆.

html javascript jquery fancybox fancybox-2

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