Phantomjs-evaluateaync-method

提供:Dev Guides
移動先:案内検索

PhantomJS-evaluateAsync()

このメソッドは、現在の実行をブロックせずに、ページ内で指定された関数を非同期的に評価します。 この関数は、特定のスクリプトを非同期で実行するのに役立ちます。

*evaluateAsync* メソッドは引数を関数として受け取り、2番目の引数はミリ秒単位の時間をとります。 関数が実行されるまでにかかる時間です。 この関数には戻り値はありません。

構文

その構文は次のとおりです-

evaluateAsync(function, [delayMillis, arg1, arg2, ...])

evaluateAsync()メソッドの例を見てみましょう。

var wpage = require('webpage').create();
wpage.onConsoleMessage = function(str) {
   console.log(str);
}
wpage.open("http://localhost/tasks/contentl", function(status) {
   wpage.evaluateAsync(function() {
      console.log('Hi! I\'m evaluateAsync call!');
   }, 1000);
});

contentl

<html>
   <head>
      <title>welcome to phantomjs</title>
   </head>

   <body name = "content">
      <script type = "text/javascript">
         window.name = "page2";
         console.log('welcome to cookie example');
         document.cookie = "username = Roy; expires = Thu, 22 Dec 2017 12:00:00 UTC";

         window.onload =  function() {
            console.log("page is loaded");
         }
      </script>

      <iframe src = "http://localhost/tasks/al" width = "800" height = "800"
         name = "myframe" id = "myframe"></iframe>
      <h1>dddddddddd</h1>
   </body>

</html>

上記のプログラムは、次の output を生成します。

welcome to cookie example
page is loaded
Hi! I'm evaluateAsync call!