相关疑难解决方法(0)

localStorage不能持久存在于OSX应用程序中(Xcode 4.3)

根据我的看法,如果您正在构建OSX桌面HTML5应用程序并希望localStorage在WebView包装器中持久存在,则需要执行以下操作:

WebPreferences* prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setLocalStorageEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

摘自:如何在基于WebKit的应用程序中启用本地存储?

但在Xcode 4.3中,这似乎对我没有用.相反,我得到了

"No visible @interface for 'WebPreferences' declares the selector '_setLocalStorageDatabasePath:'
"No visible @interface for 'WebPreferences' declares the selector 'setLocalStorageEnabled:'
Run Code Online (Sandbox Code Playgroud)

我对Objective C很新,并且可能正在做一些愚蠢的事情,比如不包括一些标题或其他东西.

我已经包含了WebKit框架和这两个标头:

#import <WebKit/WebKit.h>
#import <WebKit/WebPreferences.h>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我可以访问其他prefs方法,即[prefs setDefaultFontSize:10]- 但不是我列出的上述两种方法.

有任何想法吗?这是Xcode 4.3中删除的内容吗?

macos webkit objective-c local-storage xcode4.3

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

在Cocoa WebView中防止Flash

在我的Cocoa应用程序中,我想阻止Flash加载到WebView中,并让用户决定是否应该为每个页面显示Flash.(这与通过ClickToFlash插件或Safari扩展程序已经提供的行为相同.由于许可问题,捆绑任何这些扩展可能不是一种选择.)

不幸的是,我试图避免使用的大部分Flash都是通过专门设计的嵌入式JavaScript生成的,以防止轻松阻塞,因此我无法过滤原始HTML以包含Flash对象.

此外,我无法为我的WebView禁用JavaScript,因为当我关闭JavaScript时,我要显示的页面看起来完全不同.

在执行JavaScript之后,但是在加载Flash插件之前,是否有可用于修改页面DOM的通知/挂钩?

或者我应该追求不同的方向?

谢谢,Ilja

flash cocoa webkit objective-c

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

WebView中的本地存储不是持久的

我正在尝试让本地存储在Cocoa中的WebView中工作.我在另一个SO问题中使用了此处显示的代码,但它对我来说无法正常工作.正确创建本地存储并使其内容保持重新加载,但无论何时重新启动应用程序,都会立即删除旧的本地存储.

例如,我创建了一个新项目并在窗口中设置了一个WebView.然后我将以下代码放入我的AppDelegate.m:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    WebPreferences *prefs = [webView preferences];
    [prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/Test"];
    [prefs setLocalStorageEnabled:YES];

    [webView setMainFrameURL:@"http://static.diveintojavascript.com/files/tutorials/web-storage-contacts/contacts.html"];
}
Run Code Online (Sandbox Code Playgroud)

本地存储正确存储在正确的文件夹中,即使在退出应用程序后也会保留在那里,但是当应用程序再次启动时,旧的本地存储将被删除并创建一个新文件.

cocoa objective-c webview local-storage

6
推荐指数
2
解决办法
3053
查看次数

如何在嵌入式webkit应用程序中启用HTML客户端SQL数据库(在github上测试应用程序)

我有一个超级简单的小OS X应用程序,其中包含最小的嵌入式webkit视图,需要启用客户端SQL数据库支持.我已将测试应用程序放在github上,但无法让客户端存储工作.

我正在使用Xcode v3.2.3和它提供的WebKit框架,但是我也尝试过每晚使用webkit而没有运气.

我通过'网络'插座设置首选项:

WebPreferences *prefs = [web preferences];
[prefs _setLocalStorageDatabasePath:@"/tmp"];
[prefs _setLocalStorageDatabasePath:@"/tmp"];
[prefs setDatabasesEnabled:YES];
[prefs setLocalStorageEnabled:YES];
[prefs setDeveloperExtrasEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

如果有人可以在github上分叉应用程序或者指出我还需要做什么,那将非常感激:)

database macos cocoa webkit objective-c

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

Cookie// Cocoa WebView状态未被保留

我当前构建的PandoraMan(http://github.com/zquestz/PandoraMan)存在一些问题.一切都是功能性的,窗口位置正在保存,所有基本功能都有效,但我看到一个错误.

当我登录Pandora时,它永远不会被保留.我假设它读取系统cookie并与Safari共享状态.旧版本(在10.4上使用古老的xcode)运行良好.

如果我启动应用程序并使用PandoraMan登录,它会登录,并且网站正常工作.但是当我重新启动应用程序时,我总是要再次登录.这从未发生过,我在文档中找不到有关此问题的任何内容.

如果有人对这个问题有一些了解,那就太棒了.代码是开源的,因此您可以检查问题,而无需在评论中来回反复代码.

macos cocoa webkit objective-c

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

使用Phonegap和iOS 5.1时如何阻止HTML 5数据库被删除

我正在使用phonegap为iOS创建一个测验风格的应用程序.该应用程序允许用户创建然后进行测验.

目前我正在使用HTML5数据库,使用phonegap API来存储测试和结果数据.我担心的是,当设备存储空间已满时,iOS 5.1现在可以删除数据库.

无论如何都要标记存储数据库的webkit缓存文件夹,以便永远不会删除它?如果这是不可能的,那么有任何关于存储始终持久的数据的方法的建议.

database iphone ios cordova

5
推荐指数
2
解决办法
2620
查看次数

在macOS 10.11+中保留localStorage for WebView

WebView在我的macOS应用程序中嵌入了一个并在其中加载了一个页面.当用户与页面进行交互时,更改将存储在localStorage中(通过在Chrome中进行相同的更改来确认),但似乎WebViews不会在macOS上保留localStorage.

早期的答案(多年前)表明使用私有API,后来完全删除.在macOS中是否真的没有办法将localStorage保留为WebView?这看起来很疯狂.

macos webkit local-storage

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