小编sam*_*amy的帖子

调用chrome.tabs.query后,结果不可用

我正在创建(学习)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

21
推荐指数
1
解决办法
1万
查看次数

使用jQuery创建一个简单的JavaScript类

我正在尝试理解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.

我觉得我对这个"课"做了一些非常错的事,但我不确定为什么.

(对不起我的英语不好)

javascript jquery class keyboard-events

10
推荐指数
2
解决办法
5万
查看次数

在asp.net中添加html元素

我需要一些帮助来弄清楚如何做某事.

我有这个画廊(galleriffic)和一些存储在Flicker.com中的图像所以我使用闪烁api来获取图像,但仍然手动添加它们来测试图库.

现在我正在寻找一种很好的方法,在我用闪烁api获取图像后将图像插入到html中.

我找到了这个htmltextwriter并使用了该函数

Response.Write(GetDivElements());

但这是在html顶部添加div而不是body标签内部.

我的问题是:

  1. HtmlTextWriter writer = new HtmlTextWriter(stringWriter)在服务器端构建html标签的好方法吗?

  2. 是否有更好的方法将其他元素添加到html中Response.Write("");

c# asp.net

6
推荐指数
2
解决办法
3万
查看次数

在xp上找不到文件

我的应用附带的文本文件有一个奇怪的问题.

该文件包含一堆站点,当程序启动时,它将站点加载到一个数组中.

在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上以不同的方式运行?


编辑2


使用操作系统的检查,我现在可以确定我是Windows 7或Windows XP.因此,代码运行在Windows 7上再次查找,但在Windows XP上,我收到一条不同的错误消息:

在此输入图像描述

我真的不知道我在程序中添加的路径如何成为错误说我要求的路径.

c# text file text-files winforms

6
推荐指数
1
解决办法
670
查看次数

撤消Textbox的功能

我正在为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来做吗?

c# winforms

5
推荐指数
1
解决办法
6585
查看次数

WinForm:按下多个键

我正在研究像"太空入侵者"这样的简单游戏,我遇到了一个问题.我试图给用户提供从左到右移动的可能性,同时可以使用"空格键"进行拍摄.

我的问题是:当我按下超过1个键时,只有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)

我的问题是:什么是使这项工作的好方法?

(对不起我的英语不好)

c# winforms

4
推荐指数
1
解决办法
1458
查看次数

在函数中访问'this'变量传递给setInterval/setTimeout

我正在制作一个简单的游戏,其角色可以跳跃,向右移动,向左移动.

我在使用跳转功能时遇到问题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.

我的问题:

  1. 什么阻止此代码运行?
  2. setInterval一个让角色看起来像跳跃和着陆的好方法吗?或者我应该使用不同的方法?

编辑1:

小提琴

javascript jquery setinterval

4
推荐指数
1
解决办法
1190
查看次数

WatiN单击按钮

我正在学习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对象/控件的代码时,代码工作正常.

c# watin

3
推荐指数
1
解决办法
3995
查看次数

从TextBoxBase继承

我正在处理一个库(.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)

我的问题是:

  1. 没有构造函数从抽象类继承的方法是什么?
  2. 为什么TextBoxBase没有构造函数?

c# winforms

3
推荐指数
1
解决办法
2807
查看次数

无法访问System.Windows.Input下的Keyboard类

即时通讯工作在一个简单的控制台应用程序,只显示屏幕上的东西.

我遇到了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#

3
推荐指数
1
解决办法
6934
查看次数