Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
61b6f24a
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
61b6f24a
编写于
6月 19, 2017
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
More control over webview
上级
e75ff7dc
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
15 addition
and
6 deletion
+15
-6
src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
+1
-1
src/vs/workbench/parts/html/browser/webview-pre.js
src/vs/workbench/parts/html/browser/webview-pre.js
+4
-3
src/vs/workbench/parts/html/browser/webview.ts
src/vs/workbench/parts/html/browser/webview.ts
+10
-2
未找到文件。
src/vs/workbench/parts/html/browser/htmlPreviewPart.ts
浏览文件 @
61b6f24a
...
...
@@ -81,7 +81,7 @@ export class HtmlPreviewPart extends WebviewEditor {
private
get
webview
():
Webview
{
if
(
!
this
.
_webview
)
{
this
.
_webview
=
new
Webview
(
this
.
_container
,
this
.
partService
.
getContainer
(
Parts
.
EDITOR_PART
));
this
.
_webview
=
new
Webview
(
this
.
_container
,
this
.
partService
.
getContainer
(
Parts
.
EDITOR_PART
)
,
{
enableJavascript
:
true
}
);
this
.
_webview
.
baseUrl
=
this
.
_baseUrl
&&
this
.
_baseUrl
.
toString
(
true
);
if
(
this
.
input
&&
this
.
input
instanceof
HtmlInput
)
{
const
state
=
this
.
loadViewState
(
this
.
input
.
getResource
());
...
...
src/vs/workbench/parts/html/browser/webview-pre.js
浏览文件 @
61b6f24a
...
...
@@ -121,8 +121,9 @@
});
// update iframe-contents
ipcRenderer
.
on
(
'
content
'
,
function
(
_event
,
value
)
{
const
text
=
value
.
join
(
'
\n
'
);
ipcRenderer
.
on
(
'
content
'
,
function
(
_event
,
data
)
{
const
options
=
data
.
options
;
const
text
=
data
.
contents
.
join
(
'
\n
'
);
const
newDocument
=
new
DOMParser
().
parseFromString
(
text
,
'
text/html
'
);
// know what happens here
...
...
@@ -188,7 +189,7 @@
const
newFrame
=
document
.
createElement
(
'
iframe
'
);
newFrame
.
setAttribute
(
'
id
'
,
'
pending-frame
'
);
newFrame
.
setAttribute
(
'
frameborder
'
,
'
0
'
);
newFrame
.
setAttribute
(
'
sandbox
'
,
'
allow-scripts allow-forms
allow-same-origin
'
);
newFrame
.
setAttribute
(
'
sandbox
'
,
options
.
enableJavascript
?
'
allow-scripts allow-forms allow-same-origin
'
:
'
allow-same-origin
'
);
newFrame
.
style
.
cssText
=
"
margin: 0; overflow: hidden; position: absolute; width: 100%; height: 100%; display: none
"
;
document
.
body
.
appendChild
(
newFrame
);
...
...
src/vs/workbench/parts/html/browser/webview.ts
浏览文件 @
61b6f24a
...
...
@@ -43,6 +43,10 @@ MenuRegistry.addCommand({
type
ApiThemeClassName
=
'
vscode-light
'
|
'
vscode-dark
'
|
'
vscode-high-contrast
'
;
export
interface
WebviewOptions
{
enableJavascript
?:
boolean
;
}
export
default
class
Webview
{
private
_webview
:
WebviewElement
;
...
...
@@ -55,7 +59,8 @@ export default class Webview {
constructor
(
private
parent
:
HTMLElement
,
private
_styleElement
:
Element
private
_styleElement
:
Element
,
private
options
:
WebviewOptions
=
{}
)
{
this
.
_webview
=
<
any
>
document
.
createElement
(
'
webview
'
);
...
...
@@ -158,7 +163,10 @@ export default class Webview {
}
set
contents
(
value
:
string
[])
{
this
.
_send
(
'
content
'
,
value
);
this
.
_send
(
'
content
'
,
{
contents
:
value
,
options
:
this
.
options
});
}
set
baseUrl
(
value
:
string
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录