Javascript dom的safari问题:已加载事件

Javascript dom的safari问题:已加载事件,javascript,asynchronous,prototypejs,Javascript,Asynchronous,Prototypejs,我有一个小问题,似乎找不到解决办法。问题是以下代码在FF中有效,但在Safari中无效。也许这是一个新手的错误,但我已经挣扎了两天了,这真的让我很紧张 <script type="text/javascript"> var settings = functionToReadSettings(); document.observe('dom:loaded', function () { functionToInit(settings); });

我有一个小问题,似乎找不到解决办法。问题是以下代码在FF中有效,但在Safari中无效。也许这是一个新手的错误,但我已经挣扎了两天了,这真的让我很紧张

<script type="text/javascript">
 var settings = functionToReadSettings();
 document.observe('dom:loaded', function () {   
  functionToInit(settings);             
 });
</script>

嗯,在js中,同步不是一项简单的任务。
我不知道这些功能是否在原型中实现,但有另一个有趣的库来实现这些功能:

那么问题也可能出在
函数到附加设置中。@kirilloid当我在Safari和FF中分别调用
函数到附加设置时,它会工作。我似乎不理解这些函数的执行顺序。难道不应该按外观的顺序吗?!这应该可以像现在代码中那样工作。订单目前还可以。@kirilloid可能是因为
函数ToReadSettings
制作了一个
Ajax。请求
从文件中获取设置吗?在Safari中,它是否可能在脚本执行后发出
Ajax.Request
?真的不明白为什么它在FF中工作而不是在Safari中工作……若请求是同步的,那个么“dom:loaded”绑定就不应该提前执行。如果它是异步的,如何从函数返回值到adsettings?
functionToReadSettings: function () {
 new Ajax.Request('readSettings.php', {
  method:'get',
  onSuccess: function(transport){
   settings = transport.responseText.evalJSON(true);
  }
 });
 return settings;
}