5

私は次のことをしようとしています: appDelegate 内で Cookie を設定しています。その後、Web アプリケーションから JavaScript を使用してその Cookie を読み取ろうとしています。これは可能ですか?やりくりできないから…

これはiOSアプリの私のコードです:

NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"test" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"yes" forKey:NSHTTPCookieValue];
[cookieProperties setObject:self.siteURL forKey:NSHTTPCookieDomain];
[cookieProperties setObject:self.siteURL forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];

[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:9629743] forKey:NSHTTPCookieExpires];

NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 

また、私の JavaScript では、Cookie の書き込みと読み取りに jquery.cookie プラグインを使用しています。しかし、何もありません...これは私のコードです:

cookieValue = $.cookie("test");
alert(cookieValue);

アラートの本文には「[object Object]」があり、アプリで設定した「yes」の値があるはずです。

これは可能だと思いますか?

ありがとう!

4

1 に答える 1

6

不可能: 重大なセキュリティ ホールとなるため、グローバル Safari の Cookie キャッシュにサード パーティのアプリケーションはアクセスできません。Cookie 情報を Safari に送信する必要がある場合は、Cookie の詳細を要求パラメーターとして Safari に URL を起動し、その URL の末尾にあるスクリプトで Cookie を作成して送り返す方がよいでしょう。

編集: 巧妙になりたい場合は、iOS アプリの URL ハンドラーを登録してから、Web アプリに URL を起動できます。Web アプリで Cookie を設定してから、アプリの URL にリダイレクトします。

于 2013-04-23T19:07:14.230 に答える