我用它来捕获单个html页面的HTML源代码。 除了一件事,它的效果很好。 在我的html页面输入值后,当我进行捕获时,它只捕获没有编辑值的页面。
请任何想法。
var getDocTypeAsString = function () {
var node = document.doctype;
return node ? "<!DOCTYPE "
+ node.name
+ (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '')
+ (!node.publicId && node.systemId ? ' SYSTEM' : '')
+ (node.systemId ? ' "' + node.systemId + '"' : '')
+ '>\n' : '';
};
function getPageHTML() {
// alert( "<html>" + $("html").html() + "</html>" );
console.log(getDocTypeAsString() + document.documentElement.outerHTML);
}
和来自按钮的调用
<div class="no-print">
<div class="buttonBar">
<input type="button" class="button" value="Print" onClick="window.print()">
<input type="button" class="button" value="Save" onClick="getPageHTML()">
</div>
</div>
编辑值将来自此类似的字段 所以我想捕捉已编辑的“过去的医学历史”。作为阱
<div class='row'>
<div class='cell100'>
<div class='table'>
<div class='cell100 content'>
<textarea id='PMH' class='basicTextArea PMHText' name="PastMedicalHistory"></textarea>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
你想要达到什么目标?
语句- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply {
int key = (int)[[userInfo objectForKey:@"Button"] integerValue];
NSMutableDictionary* dict = [[NSMutableDictionary alloc]init];
switch (key){
case 0:
[dict setObject:@"Button1" forKey:@"ReturnButton"];
break;
default:
break;
}
reply(dict);
}
将HTML本身视为已呈现。
之后填写输入元素的值,因此无法通过document.documentElement.outerHTML
显示。
您可以浏览元素,检查它们并填充DOM。
最好的方法是描述你想要实现的目标,并将完整的代码示例放在codepen或类似代码上。
答案 1 :(得分:1)
你不能这样做,这 easy 方式。您可以从浏览器中查找“源代码”。
使用jQuery或JS来解析文档输入值。
然后在getDocTypeAsString
中重新注入答案 2 :(得分:0)
发现似乎工作得很好的东西,但我不是那么好的专家来判断这个可能的限制
密切关注此类商品
$( document ).ready(function() {
var isDirty = false;
$("textarea").on("change", function() {
isDirty = (this.defaultValue !== this.value);
if (isDirty)
this.defaultValue = this.value;
});
$("input").on("change", function() {
isDirty = (this.defaultValue !== this.value);
if (isDirty)
this.defaultValue = this.value;
});
});
调用像这样的新HTML的来源
function getPageHTML() {
console.log( "<html>" + $("html").html() + "</html>");
}