私は過去数週間、旅行と開発を行ってきました。私が開発しているサイトはうまく機能していました。
それから、先日、ネットワークに接続したところ、ページは問題なく「見えた」のですが、javascript が実行されていないことが判明しました。firebug を確認しましたが、エラーはありませんでした。おそらくスクリプトが読み込まれていないのではないかと疑っていたからです (Google マップ API と fbconnect を読み込むだけでなく、jQuery と jQuery UI に Google API を使用しています)。問題がこれらのページの 1 つがロードされていない場合、エラーが発生するのではないかと思いますが、何もありませんでした。
うまく接続できていないのかと思い、ネットワークに再接続し、コンピュータを再起動して、ローカル バージョンを実行しようとしました。私は何も得ませんでした。実行されていないローカル バージョンは、問題の原因が外部 JavaScript のロードであることも示唆していました。
その1つのネットワークで奇妙なこととしてそれを通過させました。残念ながら、今は何百マイルも離れています。
今日、私の兄弟は、彼が空港で使用していたネットワークが私のページを読み込めないという電子メールを私に送りました。同じ問題。すべてが適切にレイアウトされており、レイアウトの一部が Javascript で設定されているため、明らかに JavaScript が実行されています。
彼もエラーはありませんでした。もちろん、彼は飛行機に乗り込み、もう空港にはいません。現在、サイトは彼のコンピューターで動作します (そして、私は何も変更していません)。
この状況で何が起こったのかを理解するには、いったいどうすればよいでしょうか。これは、おそらく 12 程度のネットワークのうちの 2 つです。しかし、機能しないネットワークを見つける方法がわかりません (小さな町に住んでいるので、機能しないネットワークを見つけるのは難しいかもしれません)。
何か案は?このサイトはまだ開発中なので、まだリンクを投稿したくありません (ただし、数日後には投稿できます)。動作していないことがわかるのは、ロード時およびクリック時に呼び出される JavaScript 関数です。だから私はそれがjavascriptの問題だと思いますが、エラーはありません。
これらのネットワークのいずれかを見つけてそこに座ることができれば、これはそれほど大きな問題にはなりませんが、できません。それで、あなたは何をしますか?
編集 - - - - - - - - - - - - - - - - - - - - - - - - - --------- 呼び出されない最初の関数 (複数可 - リンクされている) は以下のとおりです。呼び出しが行われていないため、.ajax 呼び出しのコードを切り取りました。
function getResultsFromForm(){
jQuery('form#filterList input.button').hide();
var searchAddress=jQuery('form#filterList input#searchTxt').val();
if(searchAddress=='' || searchAddress=='<?php echo $searchLocation; ?>'){
mapShow(20, -40, 0, 'areaMap', 2);
jQuery('form#filterList input.button').show();
return;
}
if (GBrowserIsCompatible()) {
var geo = new GClientGeocoder();
geo.setBaseCountryCode(cl.address.country);
geo.getLocations(searchAddress, function (result)
{
if(!result.Placemark && searchAddress!='<?php echo $searchLocation; ?>'){
jQuery('span#addressNotFound').text('<?php echo $addressNotFound; ?>').slideDown('slow');
jQuery('form#filterList input.button').show();
} else {
jQuery('span#addressNotFound').slideUp('slow').empty();
jQuery('span#headerLocal').text(searchAddress);
var date = new Date();
date.setTime(date.getTime() + (8 * 24 * 60 * 60 * 1000));
jQuery.cookie('address', searchAddress, { expires: date});
var accuracy= result.Placemark[0].AddressDetails.Accuracy;
var lat = result.Placemark[0].Point.coordinates[1];
var long = result.Placemark[0].Point.coordinates[0];
lat=parseFloat(lat);
long=parseFloat(long);
var getTab=jQuery('div#tabs div#active').attr('class');
jQuery('div#tabs').show();
loadForecast(lat, long, getTab, 'true', 0);
var zoom=zoomLevel();
mapShow(lat, long, accuracy, 'areaMap', zoom );
}
});
}
}
function zoomLevel(){
var zoomarray= new Array();
zoomarray=jQuery('span.viewDist').attr('id');
zoomarray=zoomarray.split("-");
var zoom=zoomarray[1];
if(zoom==''){
zoom=5;
}
zoom=parseFloat(zoom);
return(zoom);
}
function loadForecast(lat, long, type, loadForecast, page){
jQuery('div#holdForecast').empty();
var date = new Date();
var d = date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var year='2009';
toDate=year+'-'+month+'-'+day;
var genre=jQuery('span.genreblock span#updateGenre').html();
var numDays='';
var numResults='';
var range=jQuery('span.viewDist').attr('id');
var dateRange = jQuery('.updateDate').attr('id');
jQuery('div#holdShows ul.showList').html('<li class="show"><div class="showData"><center><img src="../hwImages/loading.gif"/></center></div></li>');
jQuery('div#holdShows ul.'+type+'List').livequery(function(){
jQuery.ajax({
type: "GET",
url: "processes/formatShows.php",
data: "output=&genre="+genre+"&numResults="+numResults+"&date="+toDate+"&dateRange="+dateRange+"&range="+range+"&lat="+lat+"&long="+long+'&page='+page,
success: function(response){
編集2 ------------------------------------------------ ------------------------------
問題はサイトを読み込めないことではなく、サイトはほとんどの接続で正常に動作しますが、サイトが動作しない場合があり、エラーがスローされず、何も変化しないことを覚えておいてください. 私の兄弟は、私が問題を抱えていなかった間、今日早くそれを実行できなかったので、それは彼の場所/ネットワークに関係していました. しかし、ページが読み込まれ、彼はつながりを持っていました。サイトにアクセスしたのは初めてだったので、何も現金化できませんでした。数日前に問題が発生したときと同じです。私は何も変更せず、別のネットワークに接続し、すべてが正常に機能しました。