我有一个wpf应用,视频中有一个关闭按钮。单击关闭按钮,整个应用程序将关闭。我要为cefsettings设置一些属性。
settings.CefCommandLineArgs.Add(“ disable-web-security”,“ 1”);
settings.CefCommandLineArgs.Add(“ allow-universal-access-from-files”,“ 1”);
如果我要设置这两个属性,则我的应用程序将关闭,否则不会关闭。
下面是单击关闭按钮时运行的javascript代码。
window.DoCPExit = function() {
try {
cp.em.fireEvent("CPMovieExit");
if (cp.IsRunningInACAP || cp.IsRunningInALEC || cp.m_isLMSPreview) {
cp.currentWindow.open("goodbye.html", "_self");
return
}
if (cp.IsRunningInRoboHelp) {
var b = cp.currentWindow.open("", "_self");
b.close();
return
}
if (cp.currentWindow != cp.parentWindow && cp.parentWindow && cp.parentWindow.hasOwnProperty("DoCPExit")) {
if (cp.setAllowForceQuitContainer) {
cp.parentWindow.DoCPExit()
} else {
cp.currentWindow.close()
}
} else {
if (cp.IsRunningInConnect()) {
if (cp.setAllowForceQuitContainer) {
cp.parentWindow.close()
} else {
cp.currentWindow.close()
}
} else {
if (cp.topWindow == self) {
(b = window.open("", "_self"),
b.close())
} else {
if (cp.setAllowForceQuitContainer) {
(b = cp.topWindow.open("", "_self"),
b.top.close())
} else {
(b = window.open("", "_self"),
b.close())
}
}
}
}
} catch (a) {}
cp.pg && navigator && navigator.app && "function" === typeof navigator.app.exitApp && navigator.app.exitApp();
cp.win8 && (window && window.parent) && window.parent.postMessage({
name: "WIN8APPCLOSE",
data: {}
}, "*");
cp.currentWindow.open("goodbye.html", "_self")
}
;
如果未设置以上两个属性,则将运行以下代码,并且应用程序可以按预期运行,即应用程序未关闭。
if (cp.topWindow == self) {
(b = window.open("", "_self"),
b.close())
}
如果设置了以上两个属性,则应用程序将关闭。上面的if条件变为false并将其放入下面的代码中,然后关闭应用程序。
if (cp.setAllowForceQuitContainer) {
(b = cp.topWindow.open("", "_self"),
b.top.close())
}
我需要启用这两个属性,否则我将收到其他文件的跨域请求错误。