标签: internet-explorer-9

console.log.apply无法在IE9中运行

看起来我已经重新发明了这个轮子,但不知怎的,这在Internet Explorer 9中不起作用,但在IE6中也是如此.

function debug()
  if(!window.console) { 
    window.console = { log: function() { /* do something */ } };
  }
  console.log.apply(console, arguments);
}
Run Code Online (Sandbox Code Playgroud)

相关: 对javascript的Apply()问题

F12 Debugger告诉我这个"对象"(console.log)不支持'apply'方法.它甚至不被认为是一种功能吗?还有其他指示或想法吗?

javascript debugging console internet-explorer-9

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

SCRIPT5:在xmlhttprequest上的IE9中拒绝访问

var xhttp=new XMLHttpRequest();
xhttp.open('GET', 'foo.xml', false);
Run Code Online (Sandbox Code Playgroud)

F12弹出:SCRIPT5:访问被拒绝.在第95行,这是xhttp.open行.

我的JavaScript似乎格式正确,Firefox做了我认为应该做的事情.

我已经阅读了很多与此非常类似的问题,所以我查看了同源策略,但我看不出它是如何应用的,因为foo.xml与html文件位于同一目录中.我在我的本地Intranet上打开了脚本权限,并告诉迈克菲休息五分钟,这是肯定的.我甚至试过以管理员身份运行IE,所以这不是真正的权限问题吗?为什么IE会被拒绝访问本地文件?

javascript xmlhttprequest internet-explorer-9

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

<select>仅显示所选选项的第一个字符

我有一个标准的选择框,我通过附加选项使用jquery填充,但由于某种原因,IE9只显示所选选项的第一个字符.不用说它在FireFox和Chrome中完美运行,但我必须支持IE9.我尝试了IE9兼容模式,但它没有任何区别,也没有设置选择或选项的样式.

有没有人见过这个问题.是什么造成的?你怎么修好它的?

IE9中的问题示例

简化的代码示例:

<select id="selectCCY" ValueColumn="ccyID" DisplayColumn="ccySymbol" ></select>



$.each(res.result, function (key, value) {  
    $('#selectCCY').append('<option value="' + value[$('#selectCCY').attr('ValueColumn')]+ '">' + value[$('#selectCCY').attr('DisplayColumn')] + '</option>');
});
Run Code Online (Sandbox Code Playgroud)

res.result是一个简单的json数组,如下所示:

[{"ccyID":1,"ccySymbol":"GBP"},{"ccyID":2,"ccySymbol":"AUD"},{"ccyID":3,"ccySymbol":"USD"}]
Run Code Online (Sandbox Code Playgroud)

OH BUGGER !!! 它在我的简化示例中工作正常,因此问题出在其他地方.抱歉.原始代码在这里粘贴很长很复杂,但是当我找到答案时会通知您.

一段时间以后....

好的,我把问题归结为$(选择器).each()循环中的ajax调用.循环遍历所有选择框并异步填充选项.如果我进行同步调用,则选择框具有正确的宽度并正确显示,但如果是异步调用,则选择框仅显示图像中的第一个字符.仍在努力,将再次回到你身边.

我仍然想知道什么会导致选择框显示不正确.我可以做变通办法并让它正确显示,但这不能回答这个问题.它只是一个带有选项的选项,它应该始终正常工作,对吗?

经过一个周末无视这个问题......

对,我找到了解决方法.在执行ajax调用以填充选择框之前,我首先将css显示属性设置为'none',然后填充它,最后当ajax调用和填充完成时,我只删除css display'none'属性.

所以我仍然不知道为什么IE不喜欢我,但我们至少有一个解决方案.

html jquery internet-explorer internet-explorer-9

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

令人费解的IE 9 Javascript错误:改变文档标题会使后续代码执行

我根本不明白这一点.这里有一些Javascript代码可以在每个浏览器中运行,但是IE 9.它是从Flash电影中调用的,ExternalInterface如果电影的大小在内部发生变化,则意味着动态调整DOM中的电影大小

function vResizeFlash(swfId, ht) {
    document.getElementById(swfId).height = "100%";
    document.getElementById('flashContainer').style.height = ht + "px";
}
Run Code Online (Sandbox Code Playgroud)

但是如果我改变文档,它的工作正常.标题:

function vResizeFlash(swfId, ht) {
    // IE 9 won't run the rest of this function unless
    // we go through the charade of changing the document title.
    if (navigator.appName.indexOf("Microsoft") != -1) {
       var docTitle = document.title.replace(/^(.+?)\s*$/,"$1");
       document.title = docTitle + " ";
    }
    // Well-coded browsers begin here
    document.getElementById(swfId).height = "100%";
    document.getElementById('flashContainer').style.height = ht + "px";
}
Run Code Online (Sandbox Code Playgroud)

在这里,我只是从右侧修剪任何空白区域document.title,然后为其添加一个空白字符.突然,下面的行被执行了.注意:ExternalInterface页面上还有其他调用,即使在IE 9中,它们都可以正常工作,因此它不是Flash/IE …

javascript internet-explorer internet-explorer-9

45
推荐指数
1
解决办法
3230
查看次数

有没有办法检测浏览器是否具有亚像素精度?

有没有办法检测浏览器是否具有元素的子像素精度?

与任何其他主流浏览器不同,IE9的元素具有亚像素精度(元素宽度可以是50.25px),因此,我需要以不同的方式处理事物.

一种方法是使用jQuery来检测浏览器名称和版本,但这在jQuery中已被弃用,不推荐使用,而是建议应该测试是否存在功能而不是浏览器名称和版本.

html javascript css internet-explorer internet-explorer-9

43
推荐指数
1
解决办法
2221
查看次数

IE9 JavaScript错误:SCRIPT5007:无法获取属性'ui'的值:object为null或undefined

我的网站在Chrome,Firefox和Internet Explorer 8上运行良好.但在Internet Explorer 9上,只是将鼠标悬停在组件上时会触发非常奇怪的错误.

SCRIPT5007:无法获取属性'ui'的值:object为null或undefined ScriptResource.axd?d = sTHNYcjtEdStW2Igkk0K4NaRiBDytPljgMCYpqxV5NEZ1IEtx3DRHufMFtEMwoh2L3771sigGlR2bqlOxaiwXVEvePerLDCL0hFHHUFdTOM0o55K0&t = ffffffffd37cb3a1,181行character 1914

并且跟随javascript中的错误链接显示了这些代码:

onNodeOver:function(B,A){A.ui.onOver(B)},onNodeOut:function(B,A){A.ui.onOut(B)}
Run Code Online (Sandbox Code Playgroud)

我对如何解决这个错误有点无能为力.我见过这个解决方案,但这对我来说并没有解决问题.

有任何想法吗?

javascript asp.net internet-explorer-9

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

Selenium 2.0b3 IE WebDriver,点击不激活

在IE9中使用IE驱动程序时,偶尔Click方法只会选择一个按钮,它不会执行Click()的操作.请注意,这只会偶尔发生,所以我不认为这是代码问题.在Firefox4上使用Firefox驱动程序没有问题.我也有一个问题,偶尔也没有找到元素,但只在IE中再次发现,而不是Firefox.

if (Driver.FindElement(By.Name("username")) == null) {
    //sometimes gets here in IE, never gets here in Firefox
}
Driver.FindElement(By.Name("username")).SendKeys(username);
Driver.FindElement(By.Name("surname")).SendKeys(surname);
Driver.FindElement(By.Name("firstname")).SendKeys(firstname);
string url = Driver.Url;
Driver.FindElement(By.Name("cmd")).Click();
if (Driver.Url == url) {
    //if the page didnt change, click the link again
    Driver.FindElement(By.Name("cmd")).Click();
}
Run Code Online (Sandbox Code Playgroud)

我已经看到了类似的问题(http://stackoverflow.com/questions/4737205/selenium-webdriver-ie-button-issue),但我没有动态生成的ID.

webdriver internet-explorer-9 selenium-webdriver

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

在ie9中不符合img元素比例的SVG

CSS:

img{
    max-height:30px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<img src="foo.svg" />
Run Code Online (Sandbox Code Playgroud)

我正在寻找这个svg图像按比例缩放到30像素高的最大高度.svg的自然尺寸为200px×200px.适用于FF和Chrome(30x30),但在IE9中,图像为30x200.现在这里是踢球者.它只发生在某些SVG文件中,其他svgs正确缩放.

似乎差异是一个由多边形组成,另一个是由路径组成.

无法正确缩放:

http://www.radiantinteractive.com/rs/images/allies/other/crocs.svg

确实缩放:

http://www.radiantinteractive.com/rs/images/allies/technologyLogos/groovy.svg

关于为什么会发生这种情况的任何想法,或者我如何让第一个在ie9中按比例缩放?

css svg internet-explorer-9

41
推荐指数
3
解决办法
5万
查看次数

如何使SmartScreen筛选器信任自签名证书

Windows 8下的微软SmartScreen Filter是一个小型开发者最糟糕的噩梦.

虽然我意识到最终用户的好处以及阻止恶意程序在最终用户的计算机上安装自己的有效性,但我和许多其他开发人员宁愿不支付年度续订代码签名证书的费用,或者更糟糕的是,EV代码签名证书.此外,当开发用于内部使用的产品使用来自内部CA的可信证书进行签名(存储在受信任的发布商店中)时,它们仍然会成为过滤器过度热心行为的牺牲品.

开发人员和管理员曾经可以通过在受信任的发布者存储中安装发布者的代码签名证书来禁用警告和提示.创意开发人员可以在安装必要的签名时加安装自签名代码签名证书,并使用付费的Authenticode代码签名证书加盖时间戳.之后,发布者签署的程序将受到信任,并且不会触发SmartScreen筛选器警报.从本质上讲,一旦信任,出版商就可以免除经常性费用.

最近对SmartScreen筛选器的更改(以及在Windows 8中将其作为操作系统"功能"包含在内)清楚地表明Microsoft希望您购买代码签名证书,而不是创造性地解决他们为您创建的问题.是否有人发现了一种新方法来信任默认使用自签名代码签名证书的发布者(即不显示提示)?如果没有完全关闭过滤器,最终用户可以做些什么来让SmartScreen过滤器始终信任自签名证书?

请注意,购买代码签名证书不是这个问题的答案.我正在寻找一种方法来告诉SmartScreen筛选器信任不从外部源购买证书的发布者,而是发布他们自己的组织内部使用的发布者.

更新:我想我可能找到了解决方法!MSDN,可以在Windows 8和Internet Explorer 10上为列为可信站点的站点禁用SmartScreen筛选器.如果有人可以验证此方法适用于从Windows 8中的可信站点下载和运行的安装程序,那将非常感谢并且可以帮助许多ISV和内部开发团队.这也是回答这个问题所需的解决方法.可以通过组策略配置可信站点,因此从那里可以很简单.

以编程方式,可以通过为计算机设置HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2!2301或HKCU\Software\Policies\Microsoft\Windows来关闭可信站点区域的SmartScreen筛选器\ CurrentVersion\Internet Settings\Zones\2!2301,用户为0,并将可信任站点添加到可信站点区域,如此问题所示.

有人可以验证我建议的解决方法在Windows 8上是否可以从可信站点下载未签名或自签名的可执行文件?我自己没有使用Windows 8,因为我的操作系统升级预算花在证书费用上.

internet-explorer-9 windows-8 internet-explorer-10

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

如何在IE上修复twitter-bootstrap?

导航栏似乎在IE中无法正常工作.这是IE中的截图.

截图

我一直在关注stackoverflow.com上的许多bootstrap主题,但是他们给人们的"帮助"并不适合我.

身体标签后:

<div class="container">
    <div class="navbar navbar-fixed-top">
            <div class="navbar-inner">
                <div class="container">
                    <a class="brand" href="?id=home">OnniServer.tk</a>
                    <div class="nav-collapse">
                    <ul class="nav">
                    <li <?php if ((isset($_GET['id'])) && ($_GET['id'] == home)) { echo "class='active'"; } ?>><a href="?id=home">Home</a></li>
                    <li <?php if ((isset($_GET['id'])) && ($_GET['id'] == donate)) { echo "class='active'"; } ?>><a href="?id=donate">Donate</a></li>
                    <li <?php if ((isset($_GET['id'])) && ($_GET['id'] == about)) { echo "class='active'"; } ?>><a href="?id=about">About</a></li>
                    <li <?php if ((isset($_GET['id'])) && ($_GET['id'] == staff)) { echo "class='active'"; } ?>><a href="?id=staff">Staff</a></li>
                    <li <?php if ((isset($_GET['id'])) && …
Run Code Online (Sandbox Code Playgroud)

twitter internet-explorer-9 twitter-bootstrap

40
推荐指数
5
解决办法
12万
查看次数