0

現在選択されているメニュー項目を別の色でマークするには、JavaScript を基本リンク メニューに挿入する必要があります。使用したコード:

    NSString *jsString = [NSString stringWithFormat: @"var allLinks = document.getElementsByTagName('a');for(var i = 0; i < allLinks.length; i++){var link = allLinks[i];if(link.toString().indexOf(\"%@\") != -1){link.setAttribute(\"class\", \"active\"); break;}}", currentURL];


    [self.topNavigationBarWebView stringByEvaluatingJavaScriptFromString: jsString];

そして、webviewdidfinishloading から呼び出されます。しかし、この javascript のチャンクを評価するのに非常に長い時間がかかりました。

4

1 に答える 1

0

これは苦情ですか、それとも質問ですか?それが質問である場合、質問は正確には何ですか?

これ以外に Javascript を実行する方法があるかどうか疑問に思っていた場合は、ありません。

組み込み関数として stringByEvaluatingJavaScriptFromString を高速化することはできません。

唯一のオプションは、a) ページが読み込まれるのを待つのではなく、DOM が読み込まれた後に JavaScript を実行して、より高速に見えるかどうかを確認することです。b) JavaScript を評価/変更して、それが最適かどうかを確認しますより効率的にするには、for ループを削除できますか?

于 2012-06-22T15:36:43.660 に答える