如何在没有加载器的情况下独立使用YUI 3 History?

时间:2010-09-22 06:25:51

标签: yui javascript yui3

在我们的SSL页面上使用YUI脚本结果打破了SSL连接,因为它们通过http连接从yahoo(combo)动态加载脚本。

由于我们只使用YUI 3的历史管理器,我想在我们的服务器上托管代码。如果我从http://yui.yahooapis.com/combo?3.2.0/build/yui/yui-min.js&3.2.0/build/oop/oop-min.js&3.2.0/build/dom/dom-base-min.js&3.2.0/build/dom/selector-native-min.js&3.2.0/build/dom/selector-css2-min.js&3.2.0/build/event-custom/event-custom-min.js&3.2.0/build/event/event-base-min.js&3.2.0/build/node/node-base-min.js&3.2.0/build/event/event-synthetic-min.js&3.2.0/build/json/json-min.js&3.2.0/build/history/history-min.js&3.2.0/build/history/history-hash-ie-min.js复制代码它不再起作用(“Y.History.getBookmarkedState不是函数”说萤火虫)。

有谁知道如何正确地做到这一点?

由于

2 个答案:

答案 0 :(得分:2)

您正在正确加载模块,但是您尝试使用已弃用的历史记录API(来自YUI< = 3.1.x)。在YUI 3.2.0中,历史实用程序被重写,并且API不向后兼容。

您仍然可以通过加载history-deprecated模块而不是history来使用3.2.0中的旧API。或者(并且最好)您可以迁移到新API,它比旧API更简单,更灵活。您会找到迁移指南in the History Utility documentation

答案 1 :(得分:0)

我想你应该检查API。我已经检查了这个组合中的代码,它确实加载了历史和子模块。

YUI({ bootstrap: false }).use('history', function(Y) {
    Y.log(Y.History);
});

它显示了输出G();我还在getBookmarkedState子模块中找到了history-deprecated声明,因此看起来像是使用了新的东西而不是这个。