我试图使用JSPDF从html生成pdf,html有一个复杂的表格,下面添加了图片.
你可以在这个小提琴中看到,到目前为止我尝试了什么.
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
pdf.save('Test.pdf');
}, margins);
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试生成pdf时,我得到了
Uncaught TypeError: Cannot read property 'name' of undefined
Run Code Online (Sandbox Code Playgroud)
是否可以将JSPDF用于这种复杂的表,或者它只适用于简单的表.
编辑: 通过不同的方式解决这个问题,这就是我所做的
canvas.toDataURL("image/jpeg" …这是我的第一个AEM项目,我在一个正在工作的组件中上传图像,如果我打开组件的设置来更改图像,预览不起作用,如下图所示.
如果我尝试打开图像,/content/xxxDetails/xxx/_jcr_content/par/banner/bannerImage我可以访问图像.
我如何解决预览问题,我认为这是基本问题,但请帮助我,因为这是我的第一个项目.
编辑:cq:对话框
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="nt:unstructured"
jcr:title="Properties"
sling:resourceType="cq/gui/components/authoring/dialog">
<content
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/tabs"
type="nav"/>
<items jcr:primaryType="nt:unstructured">
<banner
jcr:primaryType="nt:unstructured"
jcr:title="Banner Properties"
sling:resourceType="granite/ui/components/foundation/section">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"/>
<items jcr:primaryType="nt:unstructured">
<columns
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
<headerText
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
fieldLabel="Heading Text"
name="./header"/>
<SubText
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textarea"
fieldLabel="SubHeading"
name="./subtext"/>
<bannerImage
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/fileupload"
autoStart="{Boolean}false"
class="cq-droptarget"
fieldLabel="Banner"
fileNameParameter="./bannerImgName"
fileReferenceParameter="./bannerImgRef"
mimeTypes="[image]"
multiple="{Boolean}false"
name="./bannerImage"
title="Upload Image"
uploadUrl="${suffix.path}"
useHTML5="{Boolean}true"/>
</items>
</columns>
</items>
</banner>
</items>
</content>
</jcr:root>
Run Code Online (Sandbox Code Playgroud)
错误日志
09.05.2017 18:29:15.949 *ERROR* [0:0:0:0:0:0:0:1 …Run Code Online (Sandbox Code Playgroud) 我能理解什么是闭包.我可以理解下面的例子.
def list = ['a','b','c','d']
def newList = []
def clos = { it.toUpperCase() }
list.collect( newList, clos )
assert newList == ["A", "B", "C", "D"]
Run Code Online (Sandbox Code Playgroud)
我去看了g:选择文档.我在下面看到了.
<g:select optionKey="id" optionValue="${{it.title?.toUpperCase()}}" name="book.title" from="${bookList}" />
Run Code Online (Sandbox Code Playgroud)
我不明白$ {{it.title?.toUpperCase()}}.
我理解每个对象标题转换为大写的逻辑,但为什么我们需要双"{}"..
为什么使用$ {it.title?.toUpperCase()}无效
文档链接在此输入链接描述
我尝试使用inappbrowser登录facebook后回电话.但它无法检查电子邮件,名称等.这是我的代码
Inappbrowser电话
function onDeviceReady(){
var my_client_id = FBkey,
my_redirect_uri = "http://www.fastabuy.com/index.php",
my_type = "user_agent",
my_display = "touch";
var authorize_url = FBgraphapiurl+"/oauth/authorize?";
authorize_url += "client_id=" + my_client_id;
authorize_url += "&redirect_uri=" + my_redirect_uri;
authorize_url += "&display=" + my_display;
authorize_url += "&scope=publish_stream,email,user_likes";
isfir = "true";
var ref = window.open(authorize_url, '_blank', 'location=yes');
ref.addEventListener('loadstop', function facebookLocChanged() {
facebookLoc(my_redirect_uri)
});
}
Run Code Online (Sandbox Code Playgroud)
检查回叫的方法
function facebookLoc(loc){
if (loc.indexOf("http://www.fastabuy.com/index.php?") > -1){
alert(loc.indexOf)
}
}
Run Code Online (Sandbox Code Playgroud)
如何检查url何时loc.indexOf>-1关闭inappbrowser.请帮我解决这个问题.
我想选择a标签并在点击时显示其文本.
换句话说,当我点击第一个链接 - "One"时,我想使用显示其文本"One" alert.
当我单击第二个链接 - "示例"时,我想使用显示文本"示例" alert.
<body>
<div id="tree">
<ul>
<li><a target="_blank" href="one.html">One</a></li>
<li class="folder expnded"><a target="_blank" href="two.html">Examples</a></li>
</ul>
</div>
<div id="display"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
更新1:
感谢大家的回答.我真正想要做的是我需要创建一个树结构,当我单击树叶节点时,我必须显示该叶节点的名称.
我使用jQuery DynaTree创建了树结构,但jQuery选择器在上面的代码中对我不起作用.
我无法在标签内选择标签或任何其他元素div.
下面是树形结构:

<html>
<head>
<!-- Include the required JavaScript libraries: -->
<script src="js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src='js/jquery-ui-1.8.20.custom.min.js' type="text/javascript"></script>
<script src='js/myjquery.js' type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/ui.dynatree.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="js/jquery.dynatree.js" type="text/javascript"></script>
</head>
<body>
<div id="tree">
<ul>
<li>one</li>
<li><a target="_blank" href="">Google</a>
<li class="folder expnded">Examples …Run Code Online (Sandbox Code Playgroud) 我正在Android应用程序中搜索推送通知.我查了一下" Pushwoosh ":在initPushwoosh方法我看到了GOOGLE_PROJECT_ID和PUSHWOOSH_APP_ID.
function initPushwoosh() {
var pushNotification = window.plugins.pushNotification;
pushNotification.registerDevice(
{
projectid: "GOOGLE_PROJECT_ID",
appid : "PUSHWOOSH_APP_ID"
},
function(status) {
var pushToken = status;
console.warn('push token: ' + pushToken);
},
function(status) {
console.warn(JSON.stringify(['failed to register ', status]));
}
);
document.addEventListener('push-notification', function(event) {
var title = event.notification.title;
var userData = event.notification.userdata;
if(typeof(userData) != "undefined") {
console.warn('user data: ' + JSON.stringify(userData));
}
navigator.notification.alert(title);
});
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得这两个ID?或者有更好的方法吗?
我在PhoneGap文档中看到了Notification,它是推送通知吗?
谢谢.
在我的sencha应用程序中,当应用程序执行ajax请求时,我想添加加载掩码,并在请求完成后,我需要删除加载掩码.
我尝试下面的代码,但它不适合我
var mask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading..."});
Ext.Ajax.on('beforerequest', function(){
mask.show();
});
Ext.Ajax.on('requestcomplete', function(){
mask.hide();
});
Run Code Online (Sandbox Code Playgroud) 在Grails Web应用程序中,我试图使用rest API将小鸟(指纹)字节数组从applet发布到服务器.
这是我试过的
private String post(String purl,String customerId, byte[] regMin1,byte[] regMin2) throws Exception {
StringBuilder parameters = new StringBuilder();
parameters.append("customerId=");
parameters.append(customerId);
parameters.append("®Min1=");
parameters.append(URLEncoder.encode(new String(regMin1),"UTF-8"));
parameters.append("®Min2=");
parameters.append(URLEncoder.encode(new String(regMin2),"UTF-8"));
URL url = new URL(purl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length",Integer.toString(parameters.toString().getBytes().length));
DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(parameters.toString());
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
StringBuilder builder = new StringBuilder();
String aux = "";
while ((aux = in.readLine()) != null) {
builder.append(aux);
}
in.close();
connection.disconnect(); …Run Code Online (Sandbox Code Playgroud) cordova ×2
grails ×2
html ×2
sencha-touch ×2
aem ×1
aem-6 ×1
ajax ×1
android ×1
angular-ui ×1
angularjs ×1
applet ×1
closures ×1
dynatree ×1
extjs ×1
facebook ×1
fingerprint ×1
groovy ×1
http-post ×1
inappbrowser ×1
java ×1
javascript ×1
jquery ×1
jspdf ×1
ngtable ×1
pdf ×1