小编nar*_*rco的帖子

UIWebView中的UIMenuController编辑菜单仅出现第二次

我发现在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?

objective-c uiwebview uimenucontroller ios9

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

range.setStart 仅使用字符偏移量?

我对 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 个字符的边界矩形,我该怎么做?我是不是找错了树,还有一种更简单的方法被我忽略了?

谢谢。

笔记:

  • 仅 JavaScript
  • 没有图书馆
  • 没有jQuery
  • 用于 iOS 设备上的 UIWebview

html javascript ios

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

PHP添加了回退斜杠.如何阻止这一点

背景:我不是一个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删除特定目录中的文件.

提前致谢

php escaping magic-quotes-gpc

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

获取所有未跨越的元素

我想要一个能够获得所有非跨越元素的函数.

目前我已经创建了一个获取所有元素的函数,并且还创建了一个空数组.然后它遍历每个元素,如果它们不是跨距,则将它们添加到空数组中.并返回(可能不再为空)数组.

虽然这有效,但感觉有点低效.我觉得最好不要在第一时间获得跨度,并且必须有一些我不知道的方法.

有没有更有效的方法可以获得所有不跨越的元素?(这适用于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)

javascript epub getelementsbytagname ios

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