我正在创建(学习)Google Chrome的扩展程序.
为了调试一些代码,我插入console.log()了如下:
var fourmTabs = new Array();
chrome.tabs.query({}, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
fourmTabs[i] = tabs[i];
}
});
for (var i = 0; i < fourmTabs.length; i++) {
if (fourmTabs[i] != null)
window.console.log(fourmTabs[i].url);
else {
window.console.log("??" + i);
}
}
Run Code Online (Sandbox Code Playgroud)
这是非常简单的代码:将所有选项卡信息放入我自己的数组中,并打印一些东西.
要检查代码是否正常工作,我运行代码.问题出现了:
知道为什么吗?
javascript asynchronous breakpoints google-chrome-extension google-chrome-devtools
我正在尝试理解jQuery类,但它并不是很顺利.
我的目标是以这种方式使用类(或者学习更好的方法):
var player = new Player($("playerElement"));
player.InitEvents();
Run Code Online (Sandbox Code Playgroud)
使用其他人的例子,这就是我尝试过的:
$.Player = function ($) {
};
$.Player.prototype.InitEvents = function () {
$(this).keypress(function (e) {
var key = e.which;
if (key == 100) {
MoveRight();
}
if (key == 97) {
MoveLeft();
}
});
};
$.Player.prototype.MoveRight = function () {
$(this).css("right", this.playerX += 10);
}
$.Player.prototype.MoveLeft = function () {
$(this).css("right", this.playerX -= 10);
}
$.Player.defaultOptions = {
playerX: 0,
playerY: 0
};
Run Code Online (Sandbox Code Playgroud)
最终目标是使用键盘字母A和左右两个角色在屏幕上移动D.
我觉得我对这个"课"做了一些非常错的事,但我不确定为什么.
(对不起我的英语不好)
我需要一些帮助来弄清楚如何做某事.
我有这个画廊(galleriffic)和一些存储在Flicker.com中的图像所以我使用闪烁api来获取图像,但仍然手动添加它们来测试图库.
现在我正在寻找一种很好的方法,在我用闪烁api获取图像后将图像插入到html中.
我找到了这个htmltextwriter并使用了该函数
Response.Write(GetDivElements());
但这是在html顶部添加div而不是body标签内部.
我的问题是:
是HtmlTextWriter writer = new HtmlTextWriter(stringWriter)在服务器端构建html标签的好方法吗?
是否有更好的方法将其他元素添加到html中Response.Write("");?
我的应用附带的文本文件有一个奇怪的问题.
该文件包含一堆站点,当程序启动时,它将站点加载到一个数组中.
在Windows 7上,当我启动应用程序时,我没有收到任何错误.然而,在XP上我得到了c:\Document and setting\I\Application Data\fourmlinks.txt file not found.
奇怪的部分是我制作了一个带有内容的文本文件,我把它放在应用程序文件夹中.
这是我在我的代码中调用的方式:
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法创建新文件,因为它正在保存应用程序需要和正在使用的基本数据.
首次启动后,用户可以根据需要编辑文件.
我不确定为什么会这样,但这只发生在Windows XP上.
我怎么解决这个问题?
keyboardP建议检查我正在运行的窗口,然后通过它更改路径.所以我想出了这段代码:
System.OperatingSystem osInfo = System.Environment.OSVersion;
if (osInfo.Platform == PlatformID.Win32NT)
path = Environment.SpecialFolder.LocalApplicationData + "\\fourmlinks.txt";
else
path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
Run Code Online (Sandbox Code Playgroud)
甚至在Windows 7上我得到的问题,当我需要弄错.有没有办法确保我在XP或Windows 7上以不同的方式运行?
使用操作系统的检查,我现在可以确定我是Windows 7或Windows XP.因此,代码运行在Windows 7上再次查找,但在Windows XP上,我收到一条不同的错误消息:

我真的不知道我在程序中添加的路径如何成为错误说我要求的路径.
我正在为TextBox开发一个非常简单的撤销功能,我有一个奇怪的问题.当我尝试从Stack包含所有更改的字符串中取出字符串并将它们放在文本框中时,我看不到任何更改.
我做了一个小调试标签,以检查这是否真的有效.我发现它在标签中工作,但在文本框中它使用自己的撤销功能.
有没有办法取消或覆盖文本框撤消并使用我自己的功能?
以下是我所做的更改的示例代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Z && (ModifierKeys & Keys.Control) == Keys.Control)
{
nameTextBox.Text = undoName.GetLastChange(); //--> not working
undoDebuglabel.Text = undoName.GetLastChange(); --> working
}
}
Run Code Online (Sandbox Code Playgroud)
GetLastChange()从Stack类中获取信息.
这就像文本框不让我看到变化.可能是因为我使用相同的快捷方式CTRL + Z来做吗?
我正在研究像"太空入侵者"这样的简单游戏,我遇到了一个问题.我试图给用户提供从左到右移动的可能性,同时可以使用"空格键"进行拍摄.
我的问题是:当我按下超过1个键时,只有1个功能运行.
这里有一些我试过的东西:
存储密钥List<Keys>(但我没有找到任何好的方法来执行功能,一切都变得混乱)
2. key_down事件的正常处理如下:
protected void Form1_keysDown(object obj, KeyEventArgs e)
{
(e.KeyData == Keys.Space)
spaceShip.FireBullets();
if (e.KeyCode == Keys.Left)
spaceShip.MoveLeft();
if (e.KeyCode == Keys.Right)
spaceShip.MoveRight();
}
Run Code Online (Sandbox Code Playgroud)我的问题是:什么是使这项工作的好方法?
(对不起我的英语不好)
我正在制作一个简单的游戏,其角色可以跳跃,向右移动,向左移动.
我在使用跳转功能时遇到问题setInterval.
这是功能:
jumpUp: function (speed) {
setInterval(function () {
this.yPos += 10;
this.playerElement.css("top", '-=' + 10);
alert("dude, im not moving....so stop trying"); //for some reson, this line works and other dont.
}, 100);
}
Run Code Online (Sandbox Code Playgroud)
我应该补充一点,代码在没有的情况下工作setInterval.当我添加时,我真的不知道它为什么不起作用setInterval.
我的问题:
setInterval一个让角色看起来像跳跃和着陆的好方法吗?或者我应该使用不同的方法?编辑1:
我正在学习WatiN API,但我遇到了问题.
我将WatiN api与WebBrowser对象/控件一起使用,它在大多数情况下都很有用.我试图用谷歌搜索谷歌,但按钮没有按照它应该点击.
我甚至使用来自WatiN网站的相同代码(差别很小):我的代码:
//need to use a thread to work with the WebBrowser object
var thread = new Thread(() =>
{
Settings.AutoStartDialogWatcher = false;
using (IE browser = new IE(webBrowser1.ActiveXInstance))
{
browser.GoTo("http://www.google.co.il");
browser.TextField(Find.ByName("q")).Value = " woowow";
browser.Button(Find.ByName("btnG")).Click();
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
Run Code Online (Sandbox Code Playgroud)
我可以设置我正在添加的文本,但按钮"btnG"不会被点击.
当我使用没有WebBrowser对象/控件的代码时,代码工作正常.
我正在处理一个库(.dll)文件,我想创建一个名为FatherTextBox的自定义TextBox,所以我开始派生自TextBoxBase(一个抽象类).
编写自定义逻辑后,我注意到我收到此错误消息:
The type 'System.Windows.Forms.TextBoxBase' has no constructors defined
Run Code Online (Sandbox Code Playgroud)
所以我想这不是一个选择:
public FatherTextBox() : base()
{
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
即时通讯工作在一个简单的控制台应用程序,只显示屏幕上的东西.
我遇到了System.Windows.Input类的问题,我只是无法找到它们.
这里的代码我尝试:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace FUAndLOLInstall.LookForAndActivateFile
{
class KeyboardHandler
{
public void usKeyboard()
{
System.Windows.Input.Keyboard //its like the class Keyboard not exsit.
}
}
}
Run Code Online (Sandbox Code Playgroud)
一些信息:我使用librery TestStack.White在windowm上做一些minpultion,我从我的应用程序开始.
TestStack.White本身有一个Keyboard类(White.Core.InputDevices.Keyboard),但这可能是因为这个课让我不能去上课System.Windows.Input.Keyboard吗?
c# ×7
winforms ×4
javascript ×3
jquery ×2
asp.net ×1
asynchronous ×1
breakpoints ×1
class ×1
file ×1
setinterval ×1
text ×1
text-files ×1
watin ×1