小编Cla*_*aus的帖子

适用于iPhone的PhoneGap:加载外部URL时出现问题

我正在使用PhoneGap编写iPad应用程序,我想加载外部URL而不触发Safari或使用像ChildBrowser这样的内部Web浏览器.

我正在使用PhoneGap iPad/iPhone示例项目,我尝试了不同的方法.在onBodyLoad()函数中,我添加了:

window.location.href('http://www.wordreference.com'); 
Run Code Online (Sandbox Code Playgroud)

但是这一行使用一个新的Safari窗口打开链接.从那时起,无法返回PhoneGap

之后,我尝试使用document.write替换页面内容的AJAX请求

function loadHTML(url, timeout) {
if (timeout == undefined)
    timeout = 10000;
var req = new XMLHttpRequest();
var timer = setTimeout(function() {
    try {
        req.abort();
    } catch(e) {}
    navigator.notification.loadingStop();
},timeout);
req.onreadystatechange = function() {
    if (req.readyState == 4) {
        if (req.status < 300) {
            clearTimeout(timer);

            var html = req.responseText;
            //just a debug print   
    alert(html);
    document.write(html);

        }
        navigator.notification.loadingStop();
        delete req;
    }       
};          
req.open('GET', url, true);
req.send();
}
Run Code Online (Sandbox Code Playgroud)

现在,从onBodyLoad()内部调用:

loadHTML('http://www.wordreference.com',10000); 
Run Code Online (Sandbox Code Playgroud)

打开PhoneGap容器中的链接,没问题.关键是我想加载用Python编写的动态页面

loadHTML('http://www.mysite.com/cgi-bin/index.py',10000)
Run Code Online (Sandbox Code Playgroud)

此时未调用Safari,但会显示PhoneGap容器中的黑色页面!我想指出,如果我在Safari中键入它,链接就完全正常工作(我无法报告隐私问题).

可能是与某种必要的许可有关的问题???

我找到了与PhoneGap for …

load window.location external-links cordova

26
推荐指数
2
解决办法
3万
查看次数

在PhoneGap for iOS上接收推送通知

大家好,我想通过我的PhoneGap容器收到Apple推送通知.现在有人如果已经实施了吗?

非常感谢

iphone push push-notification apple-push-notifications cordova

20
推荐指数
2
解决办法
3万
查看次数

自定义iOS8标注泡泡(Swift)

我想自定义iOS8 MapView Callout气泡,点击MKAnnotationView时可以看到它.默认气泡有点限制(只有标题,副标题和2个附件视图)所以我很难找到替代解决方案.这里有两种可能的方式和我面临的相关问题:

问题1)创建一个CUSTOM CALLOUT BUBBLE

挖掘Apple文档我发现了这个:

当您使用自定义视图而不是标准标注时,您需要做额外的工作以确保您的标注在用户与之交互时显示和隐藏.以下步骤概述了创建包含按钮的自定义标注的过程:

设计表示自定义标注的NSView或UIView子类.子类可能需要实现drawRect:方法来绘制自定义内容.创建一个视图控制器,初始化标注视图并执行与按钮相关的操作.在注释视图中,实现hitTest:以响应注释视图边界之外但在callout视图边界内的命中,如清单6-7所示.在注释视图中,实现setSelected:animated:当用户单击或点击它时,将您的标注视图添加为注释视图的子视图.如果callout视图在用户选择它时已经可见,则setSelected:方法应该从注释视图中删除callout子视图(参见清单6-8).在注释视图的initWithAnnotation:方法中,将canShowCallout属性设置为NO以防止在用户选择注释时地图显示标准标注.清单6-7显示了一个实现hitTest的示例:处理callout视图中可能超出注释视图边界的命中.

Listing 6-7  Responding to hits within a custom callout
- (NSView *)hitTest:(NSPoint)point
{
    NSView *hitView = [super hitTest:point];
    if (hitView == nil && self.selected) {
        NSPoint pointInAnnotationView = [self.superview convertPoint:point toView:self];
        NSView *calloutView = self.calloutViewController.view;
        hitView = [calloutView hitTest:pointInAnnotationView];
    }
    return hitView;
}
Run Code Online (Sandbox Code Playgroud)

清单6-8显示了实现setSelected:animated:的示例,用于在用户选择注释视图时为自定义标注视图的到达和解除设置动画.

Listing 6-8  Adding and removing a custom callout view
- (void)setSelected:(BOOL)selected
{
    [super setSelected:selected];

    // Get the custom callout view.
    NSView *calloutView = self.calloutViewController.view;
    if …
Run Code Online (Sandbox Code Playgroud)

mkmapview mkannotationview ios8 calloutview

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

从终端杀死iOS模拟器

我正试图从终端控制台终止iOS模拟器(需要在Jenkins中集成自动UI测试),但每次我尝试命令时:

killall SimulatorBridge
Run Code Online (Sandbox Code Playgroud)

显示等待操作的提示: 在此输入图像描述

问题是模拟器在获取提示操作之前不会被解雇.如何摆脱它?

terminal simulator prompt kill jenkins

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

"尝试使用SVNANT锁定已锁定的目录"

我正在使用SVNANT检查我的Windows XP机器上的项目目录.我第一次使用tortoiseSVN进行检查...结果我得到了一个相对于不兼容版本的错误消息,所以我不得不使用降级脚本修复它.现在,由于这个不兼容的问题,我无法使用tortoiseSVN对我的项目文件夹进行任何操作.问题是,每当我尝试使用SVNANT检出项目时,我都会收到以下消息:

Attempted to lock an already-locked dir
Run Code Online (Sandbox Code Playgroud)

要解决这个问题需要一个

svn清理

但如上所述,我不能使用乌龟.我怎么能解决这个问题?

谢谢

java svn svnant locked

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

在Fabric.io中过滤一段时间内的数据

我在iOS应用程序上使用Fabric.io已有2个月了.这是一个电子商务应用程序,所以我使用自定义事件来监控产品搜索购买.我注意到的是,尽管"答案"中的表格填满了数据,但是无法定义报告的搜索旧事件查询的日期范围.仪表板面板仅限于最新数据,无法进行自定义.

有没有办法进行适当的过滤?

dashboard ios fabric.io

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

Cloud Functions 的 Firebase 模拟器未更新代码

我正在使用以下云功能部署firebase deploy --only functions

export const testFunction = functions.https.onCall((data, context) => {
  return {"data": "hello"};
});
Run Code Online (Sandbox Code Playgroud)

当使用代码从客户端应用程序调用它时

var testFunction = firebase.functions().httpsCallable("testFunction");
      testFunction().then((result) => {
        // Read result of the Cloud Function.
        this.data = result.data;
});
Run Code Online (Sandbox Code Playgroud)

它按预期工作。现在,我想继续开发在本地模拟器上测试它的功能,因此,按照文档,我将此行添加到 Web 应用程序代码中(在函数之前)

firebase.functions().useEmulator("localhost", 5001); // for local simulator
Run Code Online (Sandbox Code Playgroud)

我用以下命令运行本地模拟器:

firebase emulators:start --only functions
Run Code Online (Sandbox Code Playgroud)

如果我现在运行客户端应用程序,我会正确地看到通过本地模拟器而不是远程云函数进行的调用。

问题:如果修改代码,本地函数不会更新。我需要再次运行 firebase deploy 才能看到响应的变化。我怎样才能在本地部署?

firebase google-cloud-functions

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

ANT等待文件创建

是否可以配置ANT暂停构建过程,直到创建文件(具有相对超时)?

java ant build wait

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

ANT没有通过python脚本返回退出代码

我目前正在使用ant在Windows XP机器上构建我的java项目.我在build.xml中定义了不同的任务,其中一个是用于分析应用程序输出的Python脚本的exec.当脚本发现粒子标记时,我想让ANT失败.我正在尝试使用:

sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

要么

os.system("EXIT 1")
Run Code Online (Sandbox Code Playgroud)

第二个特别是执行控制台命令EXIT,如果在浴室文件中执行,则成功地使构建过程失败.不幸的是,ant无法从启动的脚本内部显示退出代码并继续正常直到结束显示BUILD SUCCESSFUL信息.

脚本以这种方式调用:

<exec dir="${path}/scripts" executable="python">
        <arg line='log_analysis.py results.log" ' />
    </exec>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

python ant scripting build

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

在PhoneGap中调用window.location.href会触发Web浏览器

您好我正在尝试使用PhoneGap为iPad开发应用程序.我想在index.html页面内部加载外部网站的主页面.不幸使用

window.location.href = "http://mywebsite.com/cgi-bin/index.py"
Run Code Online (Sandbox Code Playgroud)

触发打开Safari窗口而不是使用PhoneGap容器.

有什么建议?

非常感谢

克劳斯

javascript browser window.location ipad cordova

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