0

我知道那里已经有很多类似的问题,但我仍然无法理解发生了什么。我对 AJAX 不是很熟悉,并且对 javascript 有非常基本的了解。

设想:

我有一个运行 ajax 的 index.html 页面和一个包含 javascript(不包含 js 文件)的文件(sub.html),它是 sub.html 中手动编码的 javascript。

例子:

(index.html)

$('#content').load(pageurl + '#inner_content', function(){

//some code

});

(子.html)

<script type="text/javascript">
    (function($){
      var interactive_chart_config = {
        zoom_historical_default: [% chart_config.chart.chart_interactive.zoom_historical_default %],
        zoom_intraday_default: [% chart_config.chart.chart_interactive.zoom_intraday_default %],
        quotes_delay: [% ir.var.Config.format.quotes_delay %],
        news_on_chart: {
          [% news_types = chart_config.chart.chart_interactive.news_on_chart.keys %]
          [% FOREACH news_type = news_types %]
            [% news_type %]: {
              [% news_options = chart_config.chart.chart_interactive.news_on_chart.${news_type}.keys %]
              [% FOREACH news_option = news_options %]
                [% news_option %]: [% chart_config.chart.chart_interactive.news_on_chart.${news_type}.${news_option} ? 'true' : 'false' %][% IF news_option != news_options.last %],[% END %]
              [% END %]
            }[% IF news_type != news_types.last %],[% END %]
          [% END %]
        },
        modify_news: [
          [% FOREACH news = chart_config.chart.chart_interactive.modify_news.news %]
            {
              [% FOREACH key = news.keys %]
                [% key %]: '[% news.${key} %]'[% IF key != news.keys.last %],[% END %]
              [% END %]
            }[% IF news != chart_config.chart.chart_interactive.modify_news.news.last %],[% END %]
          [% END %]
        ]
      };

      $(document).ready(function(){
        $('#content_container').web_chart($.extend({}, {
          theme : Highcharts.theme,
          counter_code : "[%= stock_ids.first %]",
          plot_on_load : true,
          always_reload : true,
              loading_indicator_id  : 'loading_indicator',
              chart_setting_id      : 'chart_setting',
              counter_list_form_id  : 'counter_list_form',
              chart_container_id    : 'chart_container',
              css_class_for_flags    : {'N' : 'news_tooltip', 'I' : 'insider_trades_tooltip', 'C' : 'corporate_actions_tooltip'}
        }, interactive_chart_config));
      });
    })(jQuery);

  </script>

如何在 index.html 中使用 AJAX 为 sub.html 执行 javascript?

希望你们能帮帮我。提前致谢。

4

2 回答 2

1

使用function.

<script type="text/javascript>
    function stuffFromSub() {
        var foo = "I do stuff";
        return foo;
    }
</script>

然后在load()

$('#content').load(pageurl + '#inner_content', function(){
    stuffFromSub()
});
于 2013-03-15T01:04:15.773 回答
0

如果您尝试使用 AJAX 检索包含 javascript 的页面,则需要您在其上运行 eval() ,这将是一个很大的禁忌。

最好的解决方案是创建一个 .js 文件而不是一个 .html 文件并链接到它。将您想要运行的代码放入一个函数中,以便您可以在需要时调用它。

于 2013-03-15T01:17:06.593 回答