小编nic*_*ine的帖子

window.focus()无法在Google Chrome中使用

只是想知道谷歌Chrome是否会window.focus()在某些时候支持.当我的意思是支持时,我的意思是让它发挥作用.对它的调用不会失败,它只是没有做任何事情.所有其他主流浏览器都没有这个问题:FireFox,IE6-IE8和Safari.

我有一个用于管理浏览器窗口的客户端类.当我第一次创建一个窗口时,窗口就会聚焦,但随后将焦点带到窗口的尝试不起作用.

据我所知,这似乎是一个安全功能,以避免恼人的弹出窗口,它似乎不是一个WebKit问题,因为它在Safari中工作.

我知道有人提出的一个想法是关闭窗户然后重新打开它,但这是一个可怕的解决方案.谷歌搜索表明,我似乎并不是唯一一个对此感到沮丧的人.

只是要100%清楚,我的意思是新窗口,而不是标签(标签不能从我读过的内容中聚焦),所有打开的窗口都在同一个域中.

除了我上面提到的坏事之外,还有什么想法,解决方法吗?

Chromium项目中记录了一个关于此问题的错误,请在此处查看.感谢发布Rich.

MyCompany = { UI: {} }; // Put this here if you want to test the code. I create these namespaces elsewhere in code.

MyCompany.UI.Window = new function() {
    // Private fields
    var that = this;
    var windowHandles = {};

    // Public Members
    this.windowExists = function(windowTarget) {
        return windowTarget && windowHandles[windowTarget] && !windowHandles[windowTarget].closed;
    }

    this.open = function(url, windowTarget, windowProperties) {
        // See if we have a window …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome cross-browser dom-events

46
推荐指数
4
解决办法
8万
查看次数

要做或不做:将图像存储在数据库中

在Web应用程序的上下文中,我的老板总是说在数据库中引用了一个图像,而不是图像本身.我倾向于同意在数据库中存储网址与图像本身是一个好主意,但在我现在工作的地方,我们在数据库中存储了大量图像.

我能想到的唯一原因可能是它更安全吗?你不希望有人直接链接到网址吗?但如果是这种情况,您可以随时让网站/服务器处理图像,例如asp.net中的处理程序,以便用户需要进行身份验证才能查看图像.我也在考虑从数据库中提取图像会损害性能.将图像存储在数据库中可能是一个好/不太好的想法的任何其他原因?


完全重复: 用户映像:数据库还是文件系统存储?
完全重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库还是文件夹中?
确切重复: 您是否将二进制数据存储在数据库或文件夹中?
完全重复:将 图片存储为Web应用程序的文件或数据库?
确切重复: 存储少量图像:blob还是fs?
精确复制: 将图像存储在文件系统或数据库中?

database performance blob

32
推荐指数
7
解决办法
4万
查看次数

MicrosoftAjax.js没有缩小的原因吗?

我使用YuiCompressor压缩我自己的JS,但是有没有理由说明MicrosoftAjax.js没有缩小?或者是否有一些设置来说运行它的压缩版本(如果有压缩版本).或者我是否需要对其进行反编译并自行缩小脚本资源?

javascript asp.net-ajax minify

18
推荐指数
2
解决办法
3866
查看次数

ASP.NET MVC和ViewState

现在我已经看到了这样的一些问题,但这并不是我想要问的问题,所以对于所有那些尖叫的复制品,我道歉:).

我几乎没有碰过ASP.NET MVC,但据我所知,没有ViewState/ControlState ......很好.所以我的问题是保留控件状态的替代方法是什么?我们是否可以回到旧学校ASP,在那里我们可以通过创建具有控件状态的隐藏表单输入来模拟ASP.NET ViewState/ControlState所做的事情,或者使用MVC,我们只是假设AJAX始终并保留所有状态客户端并制作AJAX要求更新?

这个问题有一些答案,在Asp.net mvc维护viewstate?,但不完全是我在答案中寻找的东西.

更新:感谢目前为止的所有答案.只是为了清理我不想要的东西和我正在寻找的东西:

不寻找:

  • 会话解决方案
  • Cookie解决方案
  • 不想在MVC中模仿WebForms

我在/正在寻找什么:

  • 如果数据没有反弹到控件,则仅在回发时保留状态的方法.认为WebForms的方案是仅在初始页面加载时绑定网格,即仅在必要时重新绑定数据.正如我所提到的,我并不是想模仿WebForms,只是想知道MVC提供了什么机制.

viewstate ajax asp.net-mvc asp.net-mvc-2

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

CDN或外部JavaScript文件如何在网站中运行?

首先,我很尴尬,我不知道这一点.我知道这些事情有效,但不知道为什么.我仍然无法获得有关CDN和Google Analytics或Adsense等内容的信息.

如果这些脚本来自您网站域以外的域,那么这些脚本是如何与相同的源策略(SOP)和跨站点脚本(XSS)相结合的?根据我对XSS和SOP的理解,这些脚本不应该能够在您的站点中运行或与DOM交互.为什么他们获得特权?这些特殊权限与其他因XSS和SOP导致浏览器错误的外部脚本有何区别?

简而言之,我想知道为什么允许来自其他域的脚本运行,交互和操纵我的网站?

javascript xss same-origin-policy

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

命名Dom元素Id属性的最佳实践

这与DOM元素的id属性的命名约定有关,我猜也是name属性.谈到JavaScript,从我理解和完成的工作总是使用驼峰案例,除了类的名称.课程是Pascal的.

说过我主要在ASP.NET中开发,这里我遇到了id属性的命名问题.在ASP.NET中,如果你将一个新的服务器控件拖放到一个页面(我很少这样做,我是一个类型的标记有点人),默认名称总是Pascal,因为它们需要符合.NET框架服务器端代码的命名准则.

因此,在命名ASP.NET服务器控件的id属性或仅标记标记中的元素时,我遵循规则来使用id属性(Javascript命名准则),但这与.NET命名准则冲突.

那么,一个,你们通常会对DOM元素中的id属性做什么,以及两个在ASP.NET中开发的.NET人员用于命名id属性?

最重要的是,当我在标记中创建表单元素时,我通常使用匈牙利表示法来输入文本,例如

<input type="text" id="txtUserName" />
Run Code Online (Sandbox Code Playgroud)

或者像复选框一样

<input type="checkbox" id="chkSelectAll" />
Run Code Online (Sandbox Code Playgroud)

这肯定违反了.NET服务器端代码命名准则以及JavaScript准则.

任何建议都非常感谢.

javascript asp.net naming-conventions

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

为什么使用原型继承实现JavaScript?

有很多文章和帖子解释了JavaScript继承是如何工作的,但为什么JavaScript使用原型继承而不是经典继承来实现?

我喜欢JavaScript,所以我不是说这是件坏事......我只是好奇.

javascript inheritance prototypal-inheritance

13
推荐指数
5
解决办法
1022
查看次数

Visual Studio陷入奇怪的模式导致键盘问题

在其他版本的Visual Studio中发生了这种情况,但最近在VS.NET 2010中发生了很多事情.我确信修复很简单,但我不知道它是什么,它让我疯狂.

我将在VS.NET中工作,然后突然间我无法用鼠标点击代码中的某个点.我没有得到光标.只要我尝试更改光标位置,它所做的只是以灰色突出显示整个单词.然后键入不起作用或它是古怪的.我唯一注意到的是VS.NET状态栏.它说的是"......按下CTRL+ D...... 后等待第二次击键".我知道CTRL+ D是一个VS.NET快捷方式,所以我按下键组合中的另一个键只是为了试图摆脱这种模式.今天我按下ENTER它说,这不是一个有效的关键组合.我期待摆脱我所处的怪异模式,但没有任何改变.

我可以修复它的唯一方法是关闭VS.NET并再次加载它.不理想,浪费时间.

也许它甚至与CTRL+ D键击组合无关,但是当我陷入这种奇怪的键盘模式时,它是我唯一注意到的.就像我说的那样,我确信退出这种模式很简单,只是不确定如何.谷歌搜索没有产生太多.

想法有人吗?

敬上,

CTRL+ Shift+B

visual-studio-2010 visual-studio

11
推荐指数
1
解决办法
5141
查看次数

IIS7,SSL和"由于请求实体太大,因此未显示该页面."

我们在64位计算机上的IIS7上通过SSL运行ASP.NET应用程序.

现在我发现有几篇文章提到要解决这个错误,我需要修改一下system.webServer/serverRuntime/uploadReadAheadSize.精细.我尝试过appcmd.exe,然后只需手动编辑我的web.config来设置:

    other config settings

    -->
    <serverRuntime uploadReadAheadSize="1048576" />
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

但是,当我在网站的web.config中设置它时,我收到此错误:

此配置部分不能在此路径中使用.当该部分被锁定在父级别时会发生这种情况.锁定是默认情况下(overrideModeDefault ="Deny"),或由locationMode ="Deny"或遗留allowOverride ="false"的位置标记显式设置.

从那里,我谷歌搜索和帖子说,这个配置部分需要解锁.所以我运行appcmd.exe来解锁它,但是我从appcmd.exe收到错误:

C:\ Windows\System32\inetsrv> appcmd.exe set config -section:system.webserver/serverruntime/uploadreadaheadsize:1048576/commit:apphost ERROR(消息:未知配置节"system.webserver/serverruntime/uploadreadaheadsize:1048576".替换用?寻求帮助.)

我在64位记事本中打开并修改它:

<section name="serverRuntime" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)

首先,让它被覆盖是明智的吗?如果没有,有哪些替代方案?如果它被覆盖,在我的web.config中设置它的潜在问题是什么,以便uploadreadaheadsize大于默认值?一个站点提到了DoS攻击的可能性.

asp.net iis-7 app-config web-config

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

Scala:具有相同声明的两个隐式参数

我有以下课程:

class Example(implicit doSomething1: (Double, Double) => Double, implicit doSomething2: (Double, Double) => Double)
{
  //..
}
Run Code Online (Sandbox Code Playgroud)

如您所见,构造函数有两个具有相同声明的隐式参数(函数).但我想"注入"两个不同的定义.这可能是隐含的吗?或者只能以已知的显式方式进行?

谢谢

arguments scala implicit

7
推荐指数
2
解决办法
1384
查看次数