我有下一个问题,我有一个用ajax打开的页面,并像这样动态更改浏览器的URL
window.history.pushState(null, null, "/desktop/manage/add");
Run Code Online (Sandbox Code Playgroud)
因此,当我在"添加"页面并打开任何带有get/post请求的页面(甚至是另一个网站)并在浏览器中按"返回"按钮时,我得到的不是页面的完整html代码,而只是ajax部分.像这样:
如何解决这个问题?
PS如果我删除window.history.pushState(null,null,"/ desktop/manage/add"); 一切正常,但我需要更改浏览器的URL.
而我的ajax加载页面不是完整的HTML页面,只有像文本一样的ajax部分:

我读到了这个问题,并且通常是rails程序员将事件添加到后面点击按钮到application.js,如下所示:
$(window).on('popstate', function () {
$.get(document.location.href)
});
Run Code Online (Sandbox Code Playgroud)
但这只适用于用户不去谷歌(或任何其他网站),它只有当他们通过我的网站并点击后退按钮时才有效.
UPD2: /添加控制器
def addProduct
@categories = Market.where("depth = ? and title != ''", 0).reorder(:title);
@tags = UserTag.where(user_id: current_user.id).includes(:tags);
respond_to do |format|
format.html{render layout: "desktop_layout"}
format.js {}
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的addProduct.js :(在点击后退按钮后在屏幕截图中看到的这个渲染文件)
window.history.pushState('page212', 'Mikee.kz', '/desktop/manage/add');
$("#rightBlock").html("<%= escape_javascript(ajax_section id:'page', :render => 'myadd') %>");
Run Code Online (Sandbox Code Playgroud) 我好奇为什么这个
<div class = "overlay">
fdsfsd
</div>
.overlay{
width: 100px;
height: 200px;
background-color:red;
}
alert(document.getElementsByClassName("overlay")[0].style.width);
Run Code Online (Sandbox Code Playgroud)
没有提醒任何事情.当然我可以写,<div style = "width:100px">
然后everthing工作正常,但它对我不好,我需要CSS.在这里你可以找到一个jsfiddle演示
所以确切的问题是:为什么这段代码没有警告div的宽度以及如果宽度由css给出,它会如何警告?
我有以下配置:
"mongoose": {
"url": "mongodb://127.0.0.1:27017/chat",
"options": {
"server": {
"socketOptions": {
"keepAlive": 1
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并连接到我的数据库
mongoose.connect(config.get('mogoose:url'), config.get('mongoose:options'))
Run Code Online (Sandbox Code Playgroud)
但我得到这样的错误:
node_modules/mongoose/node_modules/mongodb/lib/server.js:236
process.nextTick(function() { throw err; })
^
Error: getaddrinfo ENOTFOUND undefined undefined:27017
at errnoException (dns.js:27:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
Run Code Online (Sandbox Code Playgroud)
我已经检查了类似问题的答案.
我在Mongo中很新,但是使用本机驱动程序后代码工作正常:
var MongoClient = require('mongodb').MongoClient
, format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/chat', function(err, db) {
if (err) throw err;
//blabla
}
Run Code Online (Sandbox Code Playgroud)
因此,在我的案例中,这个问题的答案并不实际.
我有以下组件:
export class AddressListComponent implements AfterViewInit{
@Input() districts: District[] = [];
constructor() { }
ngAfterViewInit() {
console.log(this.districts); } }
Run Code Online (Sandbox Code Playgroud)
所以它控制台将区域记录为空数组,但我将其作为输入非空数组发送,并且它很好地显示了这个html:
<a *ngFor = "let district of districts; let i = index" class="list-group-item clearfix" >
WORKS
</a>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是下一个:在生命周期钩子中,我能够从districts数组中控制日志数据吗?因为我需要在显示html之前更改它
如何使用 with 语句创建视图?我遇到了错误:
WITH temp as (
select uu.email, u.logintime, u.region, p.id as panelid, p.panelname, p.numberofdownloads, dimensionType + ' (' + dimensionValue + ')' as filter
from stat_users u
left join stat_panels p
on u.id=p.sessionid
left join stat_filters f
on p.id=f.panelid
left join users uu
on uu.id=u.userid
where uu.Organization = 'name' AND
year(logintime) between 2015 and 2017
and panelname is not null
)
CREATE VIEW final as(
select aa.email, aa.logintime, aa.region, aa.panelname, aa.numberofdownloads as downloads, case when len(aa.filters) > 0 …Run Code Online (Sandbox Code Playgroud) 如何使Sublime 3中线的最大长度无限制?我试图添加"max_line_length": null,甚至"max_line_length": 10000"是Preferences.sublime-setting,但它不适用于我.
我有下一个html:
<select [(ngModel)]="district" class="form-control" (change)="dsChange()">
<option disabled hidden [value]="undefined" >?????</option>
<option *ngFor="let dis of districts" [ngValue]="dis">{{dis.title}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我还有下一个组件
@Input() district: District;
ngOnChanges(changes: SimpleChanges) {
console.log("CHANGED")
}
dsChange(){
console.log(this.district);
}
Run Code Online (Sandbox Code Playgroud)
而且我不明白为什么当我选择一些值dsChange时会用区的正确值触发,但是ngOnChanges()却没有
我在Gin Gonic中有一些REST服务,并且我需要每5秒使用一些调度程序来做一些工作。我已经尝试过了rakanalh,gocron但是似乎在初始化crons或gin路由之后编写的每个代码都不会执行。
func main() {
settings.AppSettings = settings.ReadSettings()
db.InitOracleDataBase()
OracleEnv, OracleSrv, OracleSes := db.GetOracleDB()
defer OracleEnv.Close()
defer OracleSrv.Close()
defer OracleSes.Close()
routes.Init()
gocron.Every(5).Seconds().Do(prOk)
<-gocron.Start()
}
Run Code Online (Sandbox Code Playgroud)
prOk只是打印OK,在我发表评论之前它永远不会执行routes.init()。如何同时运行cron和gin路由?
这里我有一些很大的 div,但它的幽灵对我来说太大了,我想改变它。这是我的解决方案:
<div draggable = "true" id = "ololo">
</div>
var k = document.getElementById("ololo");
k.addEventListener("dragstart", _drag, false);
function _drag(evt){
var cl = this.cloneNode(true);
cl.style.backgroundColor = "blue";
cl.style.width = "10px";
cl.style.height = "10px";
cl.style.position = "absolute";
cl.style.left = "1000px";
cl.style.overflow = "hidden";
document.getElementsByTagName("body")[0].appendChild(cl);
evt.dataTransfer.setDragImage(cl, 0, 0);
window.setTimeout(function() {
cl.parentNode.removeChild(cl);
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
Jsffidle 演示它工作正常,但在生产中使用它好吗?为什么在滚动条溢出时即使我隐藏它也会有滚动条?
angular ×2
css ×2
javascript ×2
ajax ×1
gin-gonic ×1
go ×1
html ×1
html5 ×1
input ×1
jquery ×1
mongodb ×1
mongoose ×1
ngonchanges ×1
node.js ×1
sql ×1
sql-server ×1
sublimetext ×1
sublimetext3 ×1
view ×1