0

ユーザーがページの下部にあるバウンスに達したときに、クラシック ASP を実行している Web サーバーから既存の uiwebview ページにデータベース レコードを追加しようとしています。バウンスごとにページにデータを追加しています

IO:

NSString *JavaCodeFromFile = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.xxx.com/JavaTestImage.asp"] encoding:NSUTF8StringEncoding error:nil];
NSString *ReturnedValue = [Web_View stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"%@", JavaCodeFromFile]];

JavaTestImage.asp の内容:

var para=document.createElement("p"); 
var NewImg=document.createElement("img"); 
NewImg.setAttribute('src', 'http://www.xxx.com/Images/Under_Construction.jpg');
NewImg.setAttribute('width', '100');
NewImg.setAttribute('height', '120');
document.body.appendChild(NewImg); 

var Textnode=document.createTextNode("From JavaTestImage.asp - Added Text.");  
para.appendChild(Textnode); 
document.body.appendChild(para);

質問: このコードは問題なく動作しますが、JavaScript が原因で、DB を呼び出してより多くのレコードを動的にロードすることができません。既に入力されている UIWebView にさらに DB データを追加するために使用できる別のアプローチはありますか?

ありがとう、リチャード

4

1 に答える 1

0

PHP でそれを行うには、選択肢が必要です。

1 - イメージ ファイル名を SQLDB またはその他の DB に保存し、DB クエリを使用してレコードを取得します。

2 - すべての画像ファイルを特定のフォルダーに入れて、そのフォルダー内のファイルをフェッチするだけです。

私は最も簡単な方法 (2 番目の方法) を選択します。以下にコードを示します。

以下のコードは getimages.php として保存する必要があります

画像が「images」という名前のフォルダーに保存され、同じフォルダー内の getimages.php にあると仮定します。

このコードは、開始レコード番号: の 6 つのレコードで応答します(6 * ($pagenum - 1))

最初の 6 つのレコードを取得するには、リクエスト URL 文字列 = を作成します。"www.xxx.com/getimages.php?page=1"

<?php

     $pagenum = 0;
     if ( array_key_exists( 'page', $_GET ) ) {
          $pagenum = $_GET[ 'page' ] - 1;
     }

     $i = 0;
     $tmp1 = (($pagenum + 1) * 6);
     $tmp2 = $pagenum * 6;
     $entered = 0;
     foreach (array_reverse(glob("images/*.jpg")) as $filename) {
          // replace ".jpg" with ".*" if you have more than one extension
          if (($i > ($tmp2 - 1)) && ($i < $tmp1)) {

               echo "$filename" . "\n";
               $entered = 1;
      }
      $i = $i +1;
     }
?>

これにより、6 行の文字列が返され、それぞれに画像 URL が含まれます。それが役に立てば幸い。

于 2013-07-07T20:44:35.347 に答える