【问题标题】:jQuery Plugin won't work on SubdomainjQuery 插件不适用于子域
【发布时间】:2025-12-20 02:30:12
【问题描述】:

由于某种奇怪的原因,我遇到了 Chromium 未加载 jQuery 插件的问题。

如果我通过子域访问该页面,它将无法加载。如果我通过根域访问该页面,一切正常。另外,如果我使用 Firefox,两种方法都可以。

这是我正在尝试的一个简单版本:

<html>
<head>
  <title>Digital Eagle.net Examples</title>
  <script src='js/jquery-1.6.4.js'></script>
  <script src='js/jquery.jLog.js'></script>

  <script>
     $(document).ready(function() {
        $.log('Testing');
        alert('Test worked successfully');

         $('button').click(function() {
            $.log('Testing Button');
            alert('Button Test worked successfully');
         });
    });

  </script>
</head>
<body>

<button>Test Log Plugin</button>

</body>
</html>

当我通过http://digitaleagle.net/example/subdomain.php 访问此页面时,一切正常。我看到了警报对话框。

当我使用子域访问页面时,它突然停止工作!链接 http://example.digitaleagle.net/subdomain.php 返回一个 javascript 错误:

Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'log' (anonymous function)

在这个例子中,我在使用日志插件时遇到了问题。在我的实际应用程序中,我也遇到了 Google Analytics 插件的问题。

这是 Chromium 错误吗?

这是我的 Chromium 版本信息:

14.0.835.186 (Developer Build 0) Built from source for Fedora release 15 (Lovelock)

我会继续研究,但是有人对我做错了什么有任何想法吗?

更新:我尝试安装 Chrome 的稳定版和开发版,但我遇到了同样的问题。当我第一次打开 Chrome 时,我看到了 alert() 对话框,但在那之后,它会产生 javascript 错误。我想知道这是否是与 Fedora 15 相关的问题?

这是我当前的版本信息:

Google Chrome   16.0.904.0 (Official Build 104662) dev
OS  Linux
WebKit  535.7 (@96998)
JavaScript  V8 3.6.4.1
Flash   (Disabled)
User Agent  Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.904.0 Safari/535.7
Command Line     /usr/bin/google-chrome --block-reading-third-party-cookies --flag-switches-begin --enable-print-preview --flag-switches-end
Executable Path /opt/google/chrome/google-chrome
Profile Path    /home/skp/.config/google-chrome/Default

更新 --

这是我的 TamperMonkey 扩展!我重命名了我的配置文件目录( $HOME/.config/chromium/ ),并且它起作用了。然后,为了试验,我一一禁用了我的扩展。一旦我禁用 TamperMonkey,它就可以正常工作!

那么,现在的问题是,我如何同时获得两者?我将 TamperMonkey 用于其他事情。也许我可以打开那个项目的错误。

【问题讨论】:

  • 为我工作。那是一个古老的开发者版本,你真的应该切换到最新的稳定版或开发频道版本。
  • 你试过用完整路径而不是相对路径引用 jquery 吗?
  • 您的示例链接 (example.digitaleagle.net/subdomain.php) 在 Chrome 14 中适用于我。
  • 你缓存了坏文件吗?
  • @mikerobi:我想我按照这些说明安装 Chromium:if-not-true-then-false.com/2010/… 我还没有找到更好的东西——我可能需要从头开始构建它。

标签: javascript jquery subdomain chromium tampermonkey


【解决方案1】:

我在 TamperMonkey 的网站上发布了这个,Jan 为我修复了这个错误。您可以在此处查看主题:

tampermonkey.net: subdomain + jQuery issue

要解决此问题,请下载Beta version from the Chrome Store。 (版本 2.2.2521)

【讨论】: