我对Python很新,所以我希望我在这里找不到明显的东西,但它让我难过.我的程序片段如下:
outFile = open('P4Output.txt', 'w')
outFile.write(output)
print output
print "Output saved to \"P4Output.txt\"\n"
Run Code Online (Sandbox Code Playgroud)
输出正确打印到控制台,但如果我打开文件它是空白的.如果我删除文件并再次执行我的程序,则会创建该文件但仍为空.我在之前的另一个程序中使用了这个完全相同的代码块,并且它可以工作,并且仍然有效.但是,如果我打开Python并尝试一些简单的方法:
f = open('test.txt', 'w')
f.write("test")
Run Code Online (Sandbox Code Playgroud)
同样,test.txt已创建,但保留为空白.是什么赋予了?
我刚刚开始使用HTML/JS进行Windows 8开发.我花了几个月的时间沉浸在针对车载单元和电视的应用程序的jQuery开发中.
跳到这里,我认为过渡很简单.我的网站的设计和结构大部分都是我想到的,并希望能够遵循我以前的工作中使用的一些做法.
也就是说,我想基本上创建一个单页面应用程序.主default.html文件将包含顶部导航/标题和另一个div.另一个div将用于加载所有其他页面,项目中的所有单独的HTML文件.
所有全局函数和主要功能都将驻留在javascript文件application.js中.然后,任何特定于页面的JavaScript都将驻留在每个HTML文件的顶部.
我很快意识到这是一个问题.使用jQuery.load()加载我的页面会导致我的应用程序出现安全错误.
JavaScript运行时错误:无法添加动态内容.脚本试图注入可能不安全的动态内容或先前动态修改的元素.例如,使用innerHTML属性添加脚本或格式错误的HTML将生成此异常.使用toStaticHTML方法过滤动态内容,或使用createElement等方法显式创建元素和属性.
我真的希望避免学习一堆特定于微软的东西.我觉得很棒,他们提供了很多工具,什么不是,也许我只是没有充分利用它们,但是对我来说,一切都感觉太僵硬,我想要做的或已经完成的事情用jQuery.我是一个喜欢完全了解正在发生的事情并完全控制它的人.
同时查看模板和示例项目,我真的不喜欢所有重复的代码.例如,每个HTML文件声明所有相同的引用.我想写一下像我的标题栏一样的引用和部分,而不必在我的项目中复制/粘贴代码.
有没有办法以我希望的方式做事,并创建单页应用程序?他们有自己的替代jQuery的.load()吗?
任何指导我正确方向的帮助将非常感谢!
编辑2012年8月14日:
我尝试使用此问题的修复: 在Windows 8 Metro JavaScript App中使用jQuery会导致安全性错误
这消除了安全警告,我可以使用jQuery.load()加载HTML.但是,看看DOM资源管理器,我的HTML被剥夺了我的脚本.
我也尝试在MSApp.execUnsafeLocalFunction()中包装我的.load()调用,但是我的文件仍然被剥离了所有脚本.是什么赋予了?
我有一个使用CSS3的@ font-face嵌入自定义字体的Web应用程序.到目前为止,这在IE和Firefox中完美运行.
但是,使用Chrome时,自定义字体会出现像素化并且不平滑.下面是Firefox和IE(顶部)和Chrome(底部)中我的字体示例的屏幕摘要链接: 屏幕截图对比
在这么小的样本截图中可能很难看出差异,但是当整个页面上发生这种情况时,这是非常明显的.
下面是我在样式表中使用@ font-face的示例:
@font-face
{
font-family: 'MyFont';
src: url('../Content/fonts/MyFont.eot?') format('embedded-opentype'),
url('../Content/fonts/MyFont.ttf') format('truetype');
}
Run Code Online (Sandbox Code Playgroud)
可能值得一提的另一件事是,当我在运行在VM上的任何浏览器中启动网站时,字体是超级波动的,比Chrome示例更糟糕.当我使用任何运行Win7 VMWare桌面的学校计算机时,就会发生这种情况.当我从在朋友的Mac上运行的Windows 7 VM上拉网站时也会发生这种情况.
我有一个HTML5/JavaScript应用程序,最初编写为在某些汽车中运行.基本上,我需要将我的应用程序设置为在浏览器中运行,以便向客户进行简单的演示.
我正在使用jQuery .ajax,由于同源策略导致问题.我发现有很多方法可以在桌面浏览器中禁用它,但不能在移动浏览器中禁用它.
我的目标是在Mobile Safari中在iPad上演示应用程序.有没有办法暂时禁用iPad上的同源策略?
我正在用C#编写一个WPF应用程序,它需要动态地以类似电子表格的格式显示数据.最好的方法是什么?
该应用程序将获取从火灾报警面板输出的数据,将其斩断,然后将其显示在整洁的表格中(或至少是计划中的表格).
我试图以特定的顺序向jQuery对象添加元素.但是,结果集的排序与DOM树相同.例如:
<div>one</div>
<span>two</span>
<p>three</p>
...
var $result = $("span").add("p").add("div");
Run Code Online (Sandbox Code Playgroud)
我想要一个结果集,其中$ result [0]是span,$ result [1]是p,依此类推.但是,它们的顺序与DOM中的顺序相同.
除了.add()之外,还有另一种方法来构建一个像我想要的jQuery对象吗?
我知道我可以为它们分配一些数据属性来指定顺序,并按此排序我的结果集.但是,这需要在我的应用程序中发生几十次,并且必须分配订单数据值并且每次排序都会非常难看,并且实施起来需要很长时间.
我将首先说我没有在终端或使用node.js工作的经验.
同事离开度假,我试图按照他离开的说明在我们的演示服务器上设置他的应用程序.我可以在本地运行所有内容,但在安装socket.io模块的服务器上遇到问题.
安装了python,安装了nodejs,两者都成功了.但后来我发出命令:
npm install -g socket.io
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
npm http GET https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/socket.io
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/socket.io',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/socket.io',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR! 'Object.oncomplete (fs.js:297:15)' ] }
npm ERR!
npm ERR! Please try running this command again …Run Code Online (Sandbox Code Playgroud) 我希望这个功能的作用是:
生成由count指定的长度的随机整数列表
生成另一个随机数以替换列表的第一个元素
对列表进行排序
拆分列表减半,丢弃下半场
丢弃列表的第一个元素
除非列表为空,否则重复2-5
到目前为止我(但没有工作)的内容如下.它有什么关系?
let go count =
let rec cut l =
if List.length l = 0 then l
printfn "%A" l
let list = System.Random().Next(100)::List.tail l
let cut list =
let firstHalf= list |> Seq.take (List.length list / 2) |> Seq.toList
firstHalf
let listSorted = List.sort list
cut (List.tail listSorted)
let r = System.Random()
let list1 = List.init count (fun numbers -> r.Next(100))
printfn "List = %A" list1
cut list1
Run Code Online (Sandbox Code Playgroud) 所以我对ASP.NET MVC和Windows Live Connect API相当新.基本上我正在尝试将Live登录整合到我的网站中.当用户登录时,Live会请求他们为我的应用程序提供某些信息的权限,将用户发送到我的应用程序设置中指定的重定向uri,并附加查询字符串.在这里,如果用户第一次登录该站点,我希望他们的基本信息存储在我的服务器上(名字,姓氏,电子邮件).我已经能够获得他们的名字和姓氏,但我很难找到如何检索他们的主要电子邮件地址.我会解释到目前为止我做了什么.
我找不到将Live connect集成到MVC应用程序的最佳方法,所以我做了最好的猜测.我在我的重定向uri中指定了一个控制器动作,它采用查询字符串"code"来构造HTTP Post.
HttpRequest req = System.Web.HttpContext.Current.Request;
string myAuthCode = req.QueryString["code"];
string myAppId = ConfigurationManager.AppSettings.Get("wll_appid");
string mySecret = ConfigurationManager.AppSettings.Get("wll_secret");
string postData = "client_id=" + myAppId + "&redirect_uri=http%3A%2F%2Fmscontestplatformtest.com%2FContestPlatform%2FUser%2FSignIn&client_secret=" + mySecret + "&code=" + myAuthCode + "&grant_type=authorization_code";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
WebRequest request = WebRequest.Create("https://oauth.live.com/token");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
request.Method = "POST";
Run Code Online (Sandbox Code Playgroud)
获取JSON格式的字符串响应并提取access_token.然后我使用此访问令牌构建HTTP GET调用,如下所示.
request = WebRequest.Create("https://apis.live.net/v5.0/me?access_token=" + r.access_token);
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string userInfo = reader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
上面的GET调用为我提供了这个JSON字符串:
{
"id": "02b4b930697bbea1",
"name": …Run Code Online (Sandbox Code Playgroud) 好的,所以我有一个用HTML5/JavaScript编写的应用程序,用于内置式车载单元.它是一个"单页"应用程序,在主页面上将片段加载到div中以响应不同的事件.
我被要求将它移植到浏览器,以便它可以用于营销,演示,等等.
这似乎不是什么大问题,因为很少有适应,只需要调整一些CSS,以便它可以在所有浏览器中显示相同.然后,他们决定他们想要运行webapp的设备将是iPad.
该应用程序在Safari中运行良好,所以我认为我不会对Mobile Safari有任何问题.马上意识到事实并非如此.该应用程序在Mobile Safari中根本不起作用!基本上,我的点击事件都没有被触发.最重要的是,我在我的控制台中收到的错误消息不一致,并没有显示在任何其他浏览器中.
<a class="mylink">CLICK ME</a>
Run Code Online (Sandbox Code Playgroud)
围绕这个网站,我看到有关jQuery绑定工作和Mobile Safari以及哪些不兼容的报告存在冲突.所以我决定建立自己的实验.
使用单个链接创建页面:
$("a.mylink").click(function () { console.log("click worked"); });
$("a.mylink").bind("click", function () { console.log("bind worked"); });
$("a.mylink").live("click", function () { console.log("live worked"); });
$("a.mylink").on("click", function () { console.log("on worked"); });
Run Code Online (Sandbox Code Playgroud)
然后我尝试了这些绑定中的每一个:
<a onclick="function(){}" class="mylink">CLICK ME</a>
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到任何响应的唯一一个是.live().即便如此,它也非常不一致,并且通常会通过点击来发送垃圾邮件.
如果我编辑我的链接并添加一个onclick属性,如下所示:
<a class="mylink">CLICK ME</a>
Run Code Online (Sandbox Code Playgroud)
然后.live()一致地工作,但是还没有其他绑定.这对我来说似乎很疯狂,因为很多应用程序在Mobile Safari上运行就好了.有什么明显的东西我在这里不见了吗?
注意,我知道如何在任何人问之前使用jQuery,我的绑定是在$(document).ready()中.
此外,我知道一旦href附加到链接就可以正常工作,但是这显然不是我需要的,因为这是一个单页导航应用程序,并且附加一个href似乎完全忽略iOS中的任何绑定并导致完整页面导航.