我正在使用Firebug,并且有一些声明:
console.log("...");
Run Code Online (Sandbox Code Playgroud)
在我的页面中.在IE8(也可能是早期版本)中,我收到脚本错误,说"控制台"未定义.我试着把它放在我的页面顶部:
<script type="text/javascript">
if (!console) console = {log: function() {}};
</script>
Run Code Online (Sandbox Code Playgroud)
我仍然得到错误.有什么办法摆脱错误?
javascript internet-explorer internet-explorer-8 ie-developer-tools
根据这篇文章它是在测试版,但它不是在发布?
从IE发送的所有ajax调用都由Angular缓存,我得到一个304 response用于所有后续调用.虽然请求是相同的,但在我的情况下,回复并不相同.我想禁用此缓存.我尝试添加cache attribute到$ http.get但仍然没有帮助.如何解决这个问题?
IE有控制台记录器吗?我正在尝试将一堆测试/断言记录到控制台,但我无法在IE中执行此操作.
javascript console firebug internet-explorer internet-explorer-8
我正在调试一个GWT应用程序,我需要将一些东西打印到控制台进行测试.System.out.println并且GWT.log不工作.有没有人有任何想法?
我使用getJSON从服务器端获取结果,但面临浏览器缓存问题.我希望缓存是假的.我在getJSON调用之前尝试使用它.
$.ajaxSetup({
cache: false
})
Run Code Online (Sandbox Code Playgroud)
但我没有得到预期的结果.它仍然显示旧的结果.任何帮助将不胜感激.
我还确定了一些其他解决方案,例如使用.ajax,但我真的不想使用它.
我目前使用service/$ resource来进行ajax调用(在这种情况下为GET),并且IE缓存调用以便无法从服务器检索新数据.我使用了一种技术,我通过谷歌搜索创建一个随机数并将其附加到请求,以便IE不会去缓存数据.
有没有比将cacheKill添加到每个请求更好的方法?
工厂代码
.factory('UserDeviceService', function ($resource) {
return $resource('/users/:dest', {}, {
query: {method: 'GET', params: {dest: "getDevicesByUserID"}, isArray: true }
});
Run Code Online (Sandbox Code Playgroud)
来自控制器的呼叫
$scope.getUserDevices = function () {
UserDeviceService.query({cacheKill: new Date().getTime()},function (data) {
//logic
});
}
Run Code Online (Sandbox Code Playgroud) 我将React版本从0.12.2升级到0.13.2,将我的React-Router从0.12.4升级到0.13.2.只进行这两个升级,没有别的,我现在加载我的网页/应用程序时出现以下错误:
Uncaught TypeError: Cannot read property '_currentElement' of null
Run Code Online (Sandbox Code Playgroud)
可能导致这种情况的任何想法?我似乎有一些潜在的React-Router错误的引用,但没有任何确定性.
导致错误的特定行是:
ReactRef.detachRefs(internalInstance, internalInstance._currentElement);
Run Code Online (Sandbox Code Playgroud)
更新1:我也刚刚从版本1.0.0升级到1.1.0并且根据@ BinaryMuse的评论将react-boot-bootstrap(我还没有实际使用)从0.9.1升级到0.13.0 - 没有变化.
更新2:经过进一步测试后,我将其缩小为react-d3的问题.从我的站点禁用react-d3代码会导致错误消失.我正在删除路由代码以使帖子更简洁,因为我现在相当确信react-router不会导致此问题.
更新3:感谢@CoryDanielson为react-d3创建新标签.
的package.json
{
"author": "me",
"name": "my project",
"description": "my awesome project",
"version": "0.1.0",
"dependencies": {
"bootstrap": "^3.3.2",
"d3": "^3.5.5",
"font-awesome": "^4.3.0",
"jquery": "^2.1.3",
"react": "^0.13.2",
"react-bootstrap": "^0.21.0",
"react-d3": "^0.3.1",
"react-router": "^0.13.2",
"react-router-bootstrap": "~0.13.0",
"reflux": "^0.2.6",
"uuid": "^2.0.1"
},
"devDependencies": {
"browser-sync": "^2.2.2",
"browserify": "^9.0.3",
"del": "^1.1.1",
"envify": "^3.4.0",
"gulp": "^3.8.11",
"gulp-css-url-adjuster": "^0.2.3",
"gulp-jshint": "^1.9.2", …Run Code Online (Sandbox Code Playgroud) 在IE 11中使用signalR时会发生奇怪的行为.场景:
我们有一些调度程序类型的功能,其中调度程序执行某些操作,而另一个用户可以实时查看更新(查询).发送的参数很好,可以在IE客户端进行更新,而无需打开开发人员控制台.
但是一个不起作用的方法(performUpdate- 获取查询结果 - 这是服务器>客户端调用,而不是客户端>服务器>客户端) - 永远不会被调用.当开发者控制台打开时,它只会得到打电话.
这是我尝试过的:
为什么JavaScript只在IE中打开开发人员工具一次后才有效?
SignalR:在IE9下,客户端无法接收消息,直到我点击F12 !!!!
一些代码片段
调度员方面
在下拉列表更改时,我们获取当前选定的值并通过网络发送更新.(这很好).
$('#Selector').on('change', function(){
var variable = $('#SomeField').val();
...
liveBatchHub.server.updateParameters(variable, ....);
});
Run Code Online (Sandbox Code Playgroud)
服务器端
当调度程序搜索时,我们会有一些服务器端代码发送已运行搜索的通知,并告诉客户端提取结果.
public void Update(string userId, Guid bId)
{
var context = GlobalHost.ConnectionManager.GetHubContext<LiveBatchViewHub>();
context.Clients.User(userId).performUpdate(bId);
}
Run Code Online (Sandbox Code Playgroud)
客户端(实时更新的查看者)
除非开发者工具是开放的,否则永远不会调用
liveBatchHub.client.performUpdate = function (id) {
//perform update here
update(id);
};
Run Code Online (Sandbox Code Playgroud)
编辑
一些可能有用的信息(我不确定它为什么会产生影响)但这只会在我做服务器>客户端调用时发生.当调度程序更改搜索参数时,更新是客户端>服务器>客户端或调度程序客户端>服务器>查看器客户端,这似乎有效.单击搜索后,搜索管道中的服务将调用performUpdate服务器端(server> viewer-client).不确定这是否重要?
编辑2和最终解决方案
眼睛充血,我意识到我遗漏了这个问题的一个关键部分:我们在这个页面上也使用了角度.猜猜我已经盯着它看了太久而把它留了出去 - 抱歉.我给了JDupont答案,因为他在正确的轨道上:缓存.但不是jQuery的ajax缓存,角度$ http.
就这样,没有人不得不花费数天/晚的时间将头撞在桌子上,最终的解决方案是禁用使用angulars $ http的ajax调用缓存.
取自这里:
myModule.config(['$httpProvider', function($httpProvider) {
//initialize get if not there …Run Code Online (Sandbox Code Playgroud) 我有一个脚本在Firefox 5上工作,但没有使用Internet Explorer 9.当我打开Internet Explorer Developer Toolbar插件并尝试与以前相同的操作时 - 它可以工作.页面上还有其他JavaScript代码正常工作,所以它只是一个不可用的部分.
有没有类似开发人员工具栏在运行时更改Internet Explorer的任何选项?