0

私のアプリケーションでは、オンラインから読み込まれた webPage からフォントを変更する必要があります。

最初に CustomJava.js ファイルをオンライン ホスティングに保存し、そのファイルを使用して iOS アプリのフォントを変更します。

ここに私のコードのいくつかがあります。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{  
    NSString *js = [NSString stringWithFormat:@"var script = document.createElement('script');"
                    "script.type = 'text/javascript';"
    "script.src = 'http://www.gustohei.com/SYjs/customJava.js';"];

    js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(script);", js];
    [self.webViewOfBrowser stringByEvaluatingJavaScriptFromString:js];

    UIApplication *app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = NO;
}

それは問題なく、フォントを正しく変更します。

私の場合、その JS ファイルをドキュメント ディレクトリに保持し、そのファイルをドキュメント ディレクトリから使用したいと考えています。オンラインから使いたくない

だから私は次のコードを書きました。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *jsPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"customJava.js"];

    NSString *js = [NSString stringWithFormat:@"var script = document.createElement('script');"
                    "script.type = 'text/javascript';"
                    "script.src ='%@'",jsPath];

    js = [NSString stringWithFormat:@"%@ document.getElementsByTagName('head')[0].appendChild(script);", js];
    [self.webViewOfBrowser stringByEvaluatingJavaScriptFromString:js];

    UIApplication *app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = NO;
}

しかし、それはうまくいきません。どうやってするか?

4

2 に答える 2

1
  1. Xcode のプロジェクト ナビゲーター (左側の列) で、青いプロジェクト アイコンをクリックします。
  2. メインウィンドウで「ビルドフェーズ」タブを選択します
  3. 「ソースのコンパイル」セクションを開きます
  4. リストで Javascript ファイルを見つけて削除します。
  5. 「バンドル リソースのコピー」セクションを開く
  6. JavaScript ファイルをリストに追加します

次に、次のコードを使用してjsファイルをロードします

[[NSBundle mainBundle] pathForResource:@"script.js" ofType:nil];

更新: Xcode 4.5 では、「ソースのコンパイル」セクションから削除せずにプロジェクトに JavaScript ファイルを追加するだけで、警告が作成されるようになりました。

警告:アーキテクチャ armv7 のタイプ sourcecode.javascript のファイル ' FILEPATH ' を処理するルールがありません

于 2013-02-14T07:55:54.083 に答える
0

javascript ファイルと HTML をドキュメント ディレクトリの同じフォルダーに保持し、webview を介して読み込んでいる HTML に JavaScript を含めるだけです。

<script src = "CustomJava.js" type="application/javascript"></script>

次に、次のようにコードで JavaScript 関数を呼び出します: (たとえば、「changeFont();」は、webview を介して呼び出す関数の名前です)

   NSString *javascriptFunctionCall = [NSString stringWithFormat:@"changeFont('%@');",self.fontSize];

   [bookWebView stringByEvaluatingJavaScriptFromString:javascriptFunctionCall];
于 2013-02-14T08:36:20.040 に答える