Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Android设备上使用window.print()或其他选项_Javascript_Android_Google Chrome_Chrome For Android - Fatal编程技术网

Javascript 在Android设备上使用window.print()或其他选项

Javascript 在Android设备上使用window.print()或其他选项,javascript,android,google-chrome,chrome-for-android,Javascript,Android,Google Chrome,Chrome For Android,在Android设备上(我已经测试了Nexus 5、Nexus 10、Galaxy S4和Galaxy Tab 3),JavaScript中的window.print()命令没有任何作用。据我所知,它甚至没有注册错误 我知道一个事实,如果不是所有的话,大多数浏览器都可以打印,因为你可以使用移动Chrome的菜单选择“打印” 为什么window.print()不会触发您期望的行为(打开“客户端打印”菜单)?还有,是否有Android替代的window.print()?我认为,默认情况下,直接打印(

在Android设备上(我已经测试了Nexus 5、Nexus 10、Galaxy S4和Galaxy Tab 3),JavaScript中的
window.print()
命令没有任何作用。据我所知,它甚至没有注册错误

我知道一个事实,如果不是所有的话,大多数浏览器都可以打印,因为你可以使用移动Chrome的菜单选择“打印”

为什么
window.print()
不会触发您期望的行为(打开“客户端打印”菜单)?还有,是否有Android替代的
window.print()

我认为,默认情况下,直接打印()方法在设备上是禁用的。我没有看到这么多手机或其他安卓设备带有打印机,但通过USB,这当然是可能的


相反,建议将内容/页面保存为pdf格式,并通过云打印服务进行打印。

其中明确指出,“该命令在iOS、Windows、Safari和Mac上受支持。Android上不支持该命令。

Android手机还没有对打印的本机支持,因此
window.print()
将无法工作。这意味着您需要使用第三方应用程序进行打印。您可以在这方面找到一些替代方案。

使用(GCP)-不需要应用程序。用户必须通过GCP设置打印机

本例使用


印刷品
在android设备上(我已经测试了Nexus 5、Nexus 10、Galaxy S4和Galaxy Tab 3),javascript中的window.print()命令没有任何作用,据我所知,它甚至没有注册错误

我知道一个事实,如果不是所有的话,大多数浏览器都可以打印,因为你可以使用移动chromes菜单选择“打印”。我的问题是,为什么window.print()不触发您期望的行为(打开“客户端打印”菜单)。 还有Windows.print()的android替代品吗

var gadget=new cloudprint.gadget(); setPrintButton(cloudprint.gadget.createDefaultPrintButton(“gcpPrint”); setPrintDocument(“text/html”,“Print”,document.documentElement.innerHTML);
我正在研究一个模拟问题,并提出了以下解决方案:

$(文档).ready(函数($){
var ua=navigator.userAgent.toLowerCase();
var isAndroid=ua.indexOf(“安卓”)>-1;/&&ua.indexOf(“移动”);
$('button.print')。单击(函数(e){
e、 预防默认值();
if(isAndroid){
// https://developers.google.com/cloud-print/docs/gadget
var gadget=new cloudprint.gadget();
gadget.setPrintDocument(“url”,$('title').html(),window.location.href,“utf-8”);
gadget.openPrintDialog();
}否则{
window.print();
}
返回false;
});
});


打印此页面目前,window.Print()功能在我的Android 5.0.1设备上完美运行,同时具有Chrome和默认浏览器。

现在,
window.Print()正在Android设备上运行。

在手机上下载adobe acrobat,你可以在手机上使用windows.Print(),android浏览器的菜单中有一个“打印”选项。这必须可以通过javascript访问,至于转换成PDF,你可以详细说明一下。这是真的。但此选项更适用于云打印或“打印到文件”,如pdf或eps,其中可以禁用“直接”打印。在这里我找到了答案,可能是很多原因导致它不能在移动设备上的大多数浏览器中工作,但事实上,它只是没有实现或禁用。相反,你仍然可以使用股票期权或另存为pdf等方式打印。你需要一个应用程序来从android打印:这是一个不错的解决方案,实际上或多或少是我最后使用的,但我主要担心的是我可以在安卓设备上执行文件->打印的等效操作(菜单按钮->打印)但是我不能用半标准的
window.print()
function触发这个。我在Chrome android上找不到print命令。我可以找到共享…>打印机。到目前为止,我无法在任何用户代理字符串中找到
mobile
字符串。此外,问题在于,有时移动电子设备上的web浏览器可能会模拟桌面模式,因此
android
字符串不会显示。我无法使用谷歌Chrome浏览器进行测试,因为它似乎无法正常工作。当使用Firefox网络浏览器和Litt Penguin公司的网络浏览器时,
android
字符串确实出现在移动电子设备上。这是一个绝妙的解决方案。非常感谢,伙计!现在谷歌云打印已经停止了它的支持。我们如何处理这是安卓?我试过安卓7。window.print()不执行任何操作。默默忽略。android上的Firefox仍然不支持。是的,我安装了google cloud print应用程序,当我单击google cloud print按钮时,对话框将打开,我选择打印机,然后单击print nothing。现在我该怎么办?是的,我安装了google cloud print应用程序,当我点击google cloud print按钮时,对话框会打开,我选择打印机,然后点击print nothing。现在我该怎么办呢?由于谷歌云打印已经停止支持,gcp在2021年之前不可用。我们如何处理这是android?
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Print</title>
    </head>
    <body>
        <div>
            <p>On android devices (I have tested Nexus 5, Nexus 10, Galaxy S4 and Galaxy Tab 3) the window.print() command in javascript doesn't do anything, as far as I can tell it doesn't even register an error.</p>
            <p>I know for a fact that most if not all of these browsers can print because you can use mobile chromes menu to choose "print".  My questions is, why doesn't window.print() trigger the behavior you would expect (opening the clients print menu).
            And is there an android alternative to window.print()?</p>
        </div>

        <div id="gcpPrint"></div>

        <script src="https://www.google.com/cloudprint/client/cpgadget.js">
        </script>

        <script>
            var gadget = new cloudprint.Gadget();
            gadget.setPrintButton(cloudprint.Gadget.createDefaultPrintButton("gcpPrint"));
            gadget.setPrintDocument("text/html", "Print", document.documentElement.innerHTML);
        </script>
    </body>
</html>