我发现在iOS 9中的应用程序中,当我长时间按下UIWebView时,通常出现的编辑菜单只出现在我长按的第二个(和以下)时间.我第一次在任何特定的webview中长按没有菜单的所有节目,尽管选择句柄确实出现了.我第二次长时间按下任何一个webview,它的行为与预期一致.
另一个奇怪的症状是偶尔(但不是每次)当菜单出现时,某些东西会快速动画向屏幕左侧滑动,从菜单开始,但它太快,看不到它是什么.即使编辑菜单出现,它也会发生.我希望这与这个问题有关.
我只在模拟器中测试过,因为我还没有在设备上安装iOS 9.
在iOS 8中,相同的菜单按预期工作.
另一位开发人员给了我一个解决方法,当你在屏幕上只有一个UIWebVeiw时可能会有效.把它放在viewDidAppear中(感谢陈先安):
[[myWebView.scrollView.subviews firstObject] becomeFirstResponder];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self becomeFirstResponder];
}];
Run Code Online (Sandbox Code Playgroud)
但是,由于我有多个webView,它对我来说不是一个理想的解决方案.如果我将它应用于每个webview,它只适用于我应用它的最后一个.
这似乎是一个错误,希望Apple很快就能解决它,与此同时,有没有人有任何明智的想法,我怎么能让这个工作为多个webView?
我对 Javascript 很陌生,过去几天我一直在阅读文档,试图弄清楚这一点。我终于不得不在这里炫耀我的无知。
我有一个整数,它是段落中字符的索引。我想找到这个字符的边界矩形。我一直试图通过制作一个包含字符的范围来做到这一点。
所以我试过:
var range = document.createRange();
range.setStart (node, offsetInsideNode);
Run Code Online (Sandbox Code Playgroud)
对于节点,我尝试传入段落元素,而对于 offsetInsideNode,我传入了 characterOffset 整数。
但是后来我发现:“如果节点元素可以有子节点,那么offsetInsideNode参数指定子节点在节点元素的childNodes集合中的位置,否则指定节点元素文本内容中的字符位置。 ”
但我只想使用字符位置。而且我无法弄清楚如何做到这一点,因为它似乎只想使用子节点位置。我想我错过了一些东西。
说我有一段话:
<p xmlns="http://www.w3.org/1999/xhtml" class="s12" style="color: rgb(0, 0, 0);"><span class="mySpanClass">The</span> quick brown <b>fox</b> jumps over the lazy dog</p>
Run Code Online (Sandbox Code Playgroud)
我想找到第 n 个字符的边界矩形,我该怎么做?我是不是找错了树,还有一种更简单的方法被我忽略了?
谢谢。
笔记:
背景:我不是一个php程序员,我只知道足够让我的iOS应用程序的Web服务部分工作.
我发现我的php正在为我的文本添加反斜杠,当我不想要它时.例如,如果我设置一些这样的变量:
$directory = "directory/";
$file = "file.jpg"
Run Code Online (Sandbox Code Playgroud)
然后我通过JSON数组输出回我的设备:
$directory . $file
Run Code Online (Sandbox Code Playgroud)
我明白了
"directory\/file.jpg"
Run Code Online (Sandbox Code Playgroud)
我已经在我的php中运行了get_magic_quotes_gpc并报告了魔术引号被关闭.我是这样做的:
if (get_magic_quotes_gpc()){
//then I send something back in the JSON array to let me know that get_magic_quotes_gpc is on
}
Run Code Online (Sandbox Code Playgroud)
我试图使用stripslashes()(在原始变量或输出上)并且没有任何变化.
那么如何阻止它这样做呢?因为这意味着我无法告诉我的php删除特定目录中的文件.
提前致谢
我想要一个能够获得所有非跨越元素的函数.
目前我已经创建了一个获取所有元素的函数,并且还创建了一个空数组.然后它遍历每个元素,如果它们不是跨距,则将它们添加到空数组中.并返回(可能不再为空)数组.
虽然这有效,但感觉有点低效.我觉得最好不要在第一时间获得跨度,并且必须有一些我不知道的方法.
有没有更有效的方法可以获得所有不跨越的元素?(这适用于iOS中UIWebViews中显示的epub,没有jquery)
这是我目前的代码.如果我做一些愚蠢的事情,我道歉,因为我不是一个javascript人:
function allElementsExceptSpans()
{
var result = new Array();
var allElements = document.getElementsByTagName('*');
for (var i = 0; i < allElements.length; i++)
{
if ((allElements[i].tagName != "span")
&& (allElements[i].tagName != "SPAN"))
{
result.push(allElements[i]);
}
}
return result;
}
Run Code Online (Sandbox Code Playgroud)