1. Objective C / Говнокод #12788

    −116

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    { 
        NSString *xContent = myTextView.text;
        
        //temp file filename
        NSString *tmpFileName = @"test1.html";
        
        //temp dir
        NSString *tempDir = NSTemporaryDirectory();
        NSLog(@"tempDirectory: %@",tempDir);
        
        //create NSURL
        NSString *path4 = [tempDir stringByAppendingPathComponent:tmpFileName];
        NSURL* url = [NSURL fileURLWithPath:path4]; 
        
        //setup HTML file contents
        NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MathJax" ofType:@"js" inDirectory:@"mathjax-MathJax-v2.0"];
        NSLog(@"filePath = %@",filePath);
        
        //write to temp file "tempDir/tmpFileName", set MathJax JavaScript to use "filePath" as directory, add "xContent" as content of HTML file
        [self writeStringToFile:tempDir fileName:tmpFileName pathName:filePath content:xContent];
        
        NSURLRequest* req = [[NSURLRequest alloc] initWithURL:url]; 
        
        //original request to show MathJax stuffs
        [myWebView loadRequest:req];
    }
    
     -(void)writeStringToFile:(NSString *)dir fileName:(NSString *)strFileName pathName:(NSString *)strPath content:(NSString *)strContent{
        
        NSString *path = [dir stringByAppendingPathComponent:strFileName];
        
        NSString *foo0 = @"<html><head><meta name='viewport' content='initial-scale=1.0' />"
    "<script type='text/javascript' src='";
        
        NSString *foo1 = @"?config=TeX-AMS-MML_HTMLorMML-full'></script>"
        "</head>"
        "<body>";
        NSString *foo2 = @"</body></html>";
        NSString *fooFinal = [NSString stringWithFormat:@"%@%@%@%@%@",foo0,strPath,foo1,strContent,foo2];
        
        [fooFinal writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
    }

    http://new2objectivec.blogspot.com/2012/03/tutorial-how-to-setup-mathjax-locally.html

    Здорово, правда?

    Запостил: UncleAli, 23 Марта 2013

    Комментарии (2) RSS

    • хрен чего поймешь, но проще видимо было у webView вызвать выполнение JS
      Ответить
      • Здесь вся красота в сборке строки. А способ загрузки - это типичное нежелание лезть в документацию.
        Ответить

    Добавить комментарий