Frage

Ich versuche, die IE7-js Bibliothek zu verwenden, um meinen Browser weniger zu machen als ie9 denkt, sie sind ie9. Die Bibliothek wird hier gehostet:

http://code.google.com/p/ie7-js/

und ich bin Referenzierung es folgt wie in meiner Master-Seite:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->

Da ich diese Datei eingeführt habe, meine StructureMap Controller Factory - hier definiert:

public class StructureMapControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
    {
        try
        {
            if (controllerType == null) return base.GetControllerInstance(requestContext, controllerType);
            return ObjectFactory.GetInstance(controllerType) as IController;
        }
        catch (System.Exception xpt)
        {
            // The controller for path '/WSOD-layout-page.css' was not found or does not implement IController.
            // The controller for path '/layout-header.css' was not found or does not implement IController.
            // The controller for path '/layout-content.css' was not found or does not implement IController.
            // The controller for path '/component-leaderboard.css' was not found or does not implement IController.
            // etc...

        }
    }
}

wird die folgende Fehlerfang:

System.Web.HttpException: The controller for path '/component-page-title.css' was not found or does not implement IController.

, aber es ist nicht nur das - ich bin für jede CSS-Datei einen ähnlichen Fehler immer ich verweisen. Warum sollte dies der Fall sein?

Um zu klären, diese CSS-Dateien werden auf einer anderen Domain gehostet als die auf ich arbeite. Wäre dies das Problem sein?

Warum CSS Anfragen an meine Anwendung weitergeleitet zu werden? Ich frage mich, ob dies etwas ist, ich kann verhindern / Arbeit um?

Update:

Ich habe dies als ein Fehler an den Entwickler eingereicht. Der Fehlerbericht ist hier: http://code.google. com / p / iE7-js / Themen / detail? id = 284

War es hilfreich?

Lösung

Nun, die IE7-JS-Skript-Datei versucht, die Dateien vom Server abgerufen wird auf sie einige Arbeit zu tun.

Blick auf die Skripte hier (ja, ich weiß, es ist nicht IE9, aber dies war das erste nicht-komprimierte I saw):

http: //code.google.com/p/ie7-js/source/browse/version/2.0(beta)/src/IE8.js

Sie sehen, dass es versucht, diese CSS-Dateien (Linie 1170ish) zu laden. Ich denke, das System dieser CSS-Datei-Anfragen als eine Aktion zu Intercept ist zu sehen und zu bombardieren auf sie, weil sie es nicht verstehen können, und das ist, warum es auf dem Controller bombardieren.

Ich bin mir nicht sicher, warum ASP.NET MVC auf sie als Aktion (GET / POST) sucht. Aber ich hoffe, das hilft.

Andere Tipps

Um zu klären, diese CSS-Dateien werden auf einer anderen Domäne als die Gastgeber ich arbeite. Wäre dies das Problem sein?

erwähnt als Ryan den Code auf 1170ish versucht, den Pfad für die CSS-Dateien zu bestimmen. Aus welchem ??Grund es ist vorausgesetzt, sie auf der gleichen Domäne sind, damit ich es ein Bug / Feature von IE9.js. in Betracht ziehen würden Schließlich wurden diese beiden Methoden aufgerufen, die die Domäne aus dem Weg zu kürzen erscheinen:

var RELATIVE = /^[\w\.]+[^:]*$/;
function makePath(href, path) {
  if (RELATIVE.test(href)) href = (path || "") + href;
  return href;
};

function getPath(href, path) {
  href = makePath(href, path);
  return href.slice(0, href.lastIndexOf("/") + 1);
};
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top