【问题标题】:Is it possible to load Jquery in the body of a page是否可以在页面正文中加载 Jquery
【发布时间】:2010-08-31 19:36:43
【问题描述】:

我正在使用代码点火器,我的一些视图需要 jquery。因为它们必须在多个地方使用,所以它们必须在文件中调用 jquery,但是由于它们引用的是外部文件,因此在加载 jquery 之前会评估对 $(document.ready) 的调用,因此会失败。是否可以将 jquery 放在正文中并在评估 javascript 之前仍然加载它。或者,是否有某种方法可以通过代码点火器将需要 jquery 的事实传递回标头,这些标头在相关文件之前被调用。

在视图中:

echo $this->import->js('jquery.js','jquery');
echo '<script type="text/javascript">
$(document).ready(function(){$(\'div#login.rounded\').corner();})
</script>';

您可以查看该页面:http://formulator.codingproject.net/content/login/

注意此页面实际上驻留在我的家用计算机上,因此预计 recaptcha 会失败。

【问题讨论】:

  • 我已经尝试过了,但没有找到方法。我有兴趣看看其他人有没有。
  • 我不熟悉 codigniter,但这似乎很有趣...$this-&gt;import-&gt;js('jquery.js','jquery') 和只是 echo-ing 整个 &lt;script&gt; 之间有什么区别?
  • 抱歉,import 是我构建的一个特殊对象,因此我不会多次写入对同一个文件的引用。简而言之,它会检查以确保该文件尚未被使用,然后返回脚本,但它不应该影响任何东西。
  • 我添加了一个链接...谁能看到它为什么不起作用?

标签: javascript jquery codeigniter external-script


【解决方案1】:

我想答案是肯定的。您可以在您的body 中加载jQuery.js。但是你必须在jQuery.js 声明之后写你的脚本标签,否则你可能会出错:)

PS:如果我错了,请纠正我:)

【讨论】:

  • 这就是我现在正在做的,它似乎不起作用。
【解决方案2】:

jQuery 确实应该在 head 元素中调用。以下是您有条件地执行此操作的方法(未经测试)。

在你的控制器中,每个需要 jQuery 的函数都应该有:

$data['need_jquery'] = true;
$this->load->view('header');

在您的标题视图中:

<head>
    <? if($need_jquery) { ?>
        <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" /></script>
    <? } ?>
</head>

【讨论】:

  • 哇,这比我的好得多。
【解决方案3】:

看起来您正在使用 PHP?如果是这样,请创建一个返回该字符串的静态方法,但前提是它尚未包含在此请求中。然后你可以确保它只被包含一次。

【讨论】:

    【解决方案4】:

    我的网站也是这样。我所做的是我在所有页面上都加载了一个标题。在那个标题中我做if($this-&gt;uri-&gt;segment(2) == 'controller')。然后,如果该控制器需要,我会加载 jQuery 和某些脚本。

    【讨论】:

      【解决方案5】:

      我认为如果每个页面的标签中都包含jQuery就可以了,而且你可以使用不那么重的缩小版的jQu​​ery。

      【讨论】:

        【解决方案6】:

        呃,也许我错了。但是,当我查看您的源代码并按照 jquery 文件所在的位置进行操作时:http://www.formulator.com/assets/scripts/jquery/jquery.js 我收到“找不到页面”错误。所以我猜这可能是问题所在。也许您的 php 输出方式不包括正确的域/子域?

        【讨论】:

        • 哦,对不起。就像我说的它驻留在我的家用机器上,所以我需要对其进行一些更新才能访问 jquery。
        • 好的,我已经解决了。但是错误仍然存​​在。 PS 感谢您的提示。
        猜你喜欢
        • 2017-02-08
        • 2013-01-09
        • 2021-04-01
        • 2016-10-09
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多