Javascript 在Windows 8 Metro风格的应用程序开发中,如何使用外部JS文件/库中的对象?

Javascript 在Windows 8 Metro风格的应用程序开发中,如何使用外部JS文件/库中的对象?,javascript,windows-8,microsoft-metro,Javascript,Windows 8,Microsoft Metro,我在一个.js文件中有一个JavaScript日历,我在一个html页面中使用了它,我正试图在一个metro应用程序中使用它。如何在data.js默认文件中导入它并从中调用?(data.js文件以“(”)开头,然后如何创建一个日历元素以用于平铺项目的“元素”字段? 如果我设法导入data.js文件,并使用Microsoft建议的createElement函数创建元素,它会正常工作吗,因为它需要外部JavaScript文件?如果不需要,我可以做什么?在visual studio中将该文件添加到项目

我在一个.js文件中有一个JavaScript日历,我在一个html页面中使用了它,我正试图在一个metro应用程序中使用它。如何在data.js默认文件中导入它并从中调用?(data.js文件以“(”)开头,然后如何创建一个日历元素以用于平铺项目的“元素”字段?
如果我设法导入data.js文件,并使用Microsoft建议的createElement函数创建元素,它会正常工作吗,因为它需要外部JavaScript文件?如果不需要,我可以做什么?

在visual studio中将该文件添加到项目中,在应用程序的default.html中包含js文件脚本标记。您可以n然后像使用任何其他JS库一样使用它。

在visual studio中将该文件添加到项目中,并在应用程序的default.html中包含JS file script标记。然后,您可以像使用任何其他JS库一样使用它。

除了在html页面中引用脚本外,如下所示:

<script src="/js/calendar.js"></script>

您可以从“解决方案资源管理器”中拖动该文件并将其放在要使用它的.js文件的顶部,它将为您提供一个如下所示的引用:

/// <reference path="calendar.js" />
(function () {
    "use strict";
//
(功能(){
“严格使用”;

一旦您获得了该引用,Visual Studio将在您引用.js文件的函数时为您提供良好的智能感知。

除了在HTML页面中引用脚本外,还可以如下所示:

<script src="/js/calendar.js"></script>

您可以从“解决方案资源管理器”中拖动该文件并将其放在要使用它的.js文件的顶部,它将为您提供一个如下所示的引用:

/// <reference path="calendar.js" />
(function () {
    "use strict";
//
(功能(){
“严格使用”;

一旦您获得了该引用,Visual Studio将在您引用.js文件的功能时为您提供良好的智能感知。

此外,还需要记住两件大事。如果可能,请尝试在项目中包含.js源文件(就像您正在做的那样)。呼叫CDN或外部托管位置将标记您进行一些通常不必进行的安全检查


也不能保证JavaScript库会随着时间的推移继续工作。出于这个原因,我保留了旧版本的SoundJS和jQuery。当新版本在进行DOM操作时,我看到应用程序会抛出一些错误,这些操作会标记一些安全违规行为。

此外,还有两件事需要记住。如果可以尝试在项目中包含.js源文件(就像您正在做的那样)。调用CDN或外部托管位置将标记您进行一些通常不必进行的安全检查


也不能保证JavaScript库会随着时间的推移继续工作。出于这个原因,我保留了旧版本的SoundJS和jQuery。当新版本执行DOM操作等标记一些安全违规的操作时,我看到应用程序抛出一些错误。

谢谢。我这样做了,但变量是从ty创建的calendar.js中定义的pes仍然给出类型未定义的错误…calendar js库是公开的吗?如果是的话,你能提供一个到库的链接,并展示一些你如何实现它的代码,特别是给出错误的代码吗?是的:我将.js文件添加到我的项目中。我是cur直接使用“jsDatePick.full.1.3.js”m,我添加了对default.html的引用,并按照您在“data.js”中的说明进行了操作。到目前为止,我的实现基本上是“example full.html”的复制粘贴(我不想做太多更改,直到我有了工作)。这给了我一个错误:
g_globalObject=new jsDatePick({useMode:1,isStripped:true,target:“div3_example”})
,声称未实现JsDatePick。我尝试使用createElement复制HTML部分,并将其添加到示例项内容字段。(我不完全确定这是否可行,因为它需要data.JS中的JS代码,这已经依赖于jsDatePick.full.1.3.JS中的代码。但是,如果不行,我不知道如何在那里显示日历……)更新:我重新开始,神奇地停止了对JsDatePick的抱怨。我一定是弄乱了一些我不应该弄乱的东西。再次,非常感谢!谢谢。我这样做了,但是从calendar.js中定义的类型创建的变量仍然会给出类型未定义的错误…calendar js库是公开的吗?我那么,你能提供一个到库的链接,并展示一些你如何实现它的代码,特别是给你带来错误的代码吗?是的,它是:我在我的项目中添加了.js文件。我目前使用的是“jsDatePick.full.1.3.js”,我在“data.js”中添加了对default.html的引用,并遵循了你的指示。到目前为止,我的实现基本上是“example full.html”的复制粘贴(在某些东西开始工作之前,我不想做太多更改)。它在以下方面给了我错误:
g_globalObject=new JsDatePick({useMode:1,isStripped:true,target:“div3_example”});
,声明未实现JsDatePick。我尝试使用createElement复制HTML部分,并将其添加到示例项内容字段。(我不完全确定这是否可行,因为它需要data.JS中的JS代码,这已经依赖于jsDatePick.full.1.3.JS中的代码。但是,如果不行,我不知道如何在那里显示日历……)更新:我重新开始,神奇地停止了对JsDatePick的抱怨。我一定是弄乱了一些我不该弄糟的东西。再次,非常感谢!我明白了,谢谢。如果我以后需要使用外部在线API(如谷歌地图),该怎么办还有什么安全问题需要我处理吗?我看到人们在iframe中使用谷歌地图时没有任何问题。如果你想