-2

ajax リクエストからコードを呼び出す必要があります。この呼び出しは現時点でのものです。これを行う方法がわかりません。動作中の時計を含むhtmlファイルをセットアップしました。私が呼び出しているページには、$container1 からテキストをロードする時計が表示されませんが、時計と日付は表示されませんか? 誰でも理由を知っていますか?コンテナ 1 からのテキストが正常に読み込まれている場合、現在の時刻と日付の時計が機能していないのはなぜですか?

データが取得されているhtmlでこれまでに持っているものは次のとおりです。

var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
var montharray=new Array("1","2","3","4","5","6","7","8","9","10","11","12")
var date=new Date();
var hours=date.getHours();
var minutes=date.getMinutes();
 var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12;
minutes = minutes < 10 ? '0'+minutes : minutes;
var s=date.getSeconds();
s = s < 10 ? '0'+s : s;
var Time = "Current Time:&nbsp;  ";
var Text = "Last Updated:  ";

      document.getElementById('time').innerHTML =Time+" "+dayarray[day]+" "+montharray[month]+"/"+daym+"/"+year+" "+hours+":"+minutes+":"+s+" "+ampm; 
document.getElementById('time2').innerHTML =Text+" "+dayarray[day]; 
}
}
</script>
</head>
<body>
<div id="container1">
<div id="left">By TrueLogic Company
    <p>Edited By International Electronic Components</p>
</div>
<div id="right">
    <div id="time2"></div>[LastBuuild]
    <p>
        <div id="time"></div>
    </p>
</div>
</div>
</body>
</html>

そして、ロードしたいページでいくつかのヒンジを試しましたが、これが私が今持っているものです。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script type="text/javascript">

function refreshPage () {
     var page_y = document.getElementsByTagName("body")[0].scrollTop; 
     window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;

}
     window.onload = function () {
         setTimeout(refreshPage, 3000);
            if (window.location.href.indexOf('page_y') != -1 ) {
                var match = window.location.href.split('?')[1].split("&")[0].split("=");
                document.getElementsByTagName("body")[0].scrollTop = match[1];

    }

{
     $('#container').load('C:/Program%20Files/TrueChem/Data/dashboard/src/Test.HTML #container1');
  }
}
</script>

<div id="container">
4

1 に答える 1

0

ここには不要なコードがたくさんありますが、推測すると、問題は次のとおりです。

$('#container').load('C:/Program%20Files/TrueChem/Data/dashboard/src/Test.HTML #container1');

JavaScript を介してローカル ファイル システムからファイルを読み込もうとしています。明らかなセキュリティ上の理由から、それは機能しません。(任意の Web サイトがローカル ファイルにアクセスできると想像してください。)

ブラウザのデバッグ ツールを使用すると、AJAX リクエストを実行しようとしますか? エラーをスローしますか?(私は後者を推測/望んでいます。)

Your AJAX request needs to be to an HTTP host (a web server, basically) which would respond with the data in question. JavaScript can't load local files.

Edit: Based on the comment thread below, it sounds like the heart of the problem is that you're trying to run some JavaScript code on one page by loading it via AJAX from another page. This probably won't work. The page doesn't actually have the value you're looking for, it has the code which generates the value. And that code probably isn't being executed when you fetch it via AJAX.

However, since it's the code you're after and not the content of the page, you shouldn't even really be loading the page via AJAX. You should just put the code in a separate file and reference that file on both pages.

Just move the JavaScript code into a .js file and reference that file on both pages:

<script type="text/javascript" src="dateTimeCalculations.js"></script>

That will give you access to the code which generates the value, and you can populate that value into elements on the page.

于 2013-07-27T18:52:58.947 に答える