1

我目前正在为phonegap android项目使用截图插件(插件版本2.0.0),该插件返回一些错误,如

未捕获的类型错误:无法在 file:///android_asset/www/index.html 处调用未定义的方法“saveScreenshot”

我的代码:

 <script src="cordova-2.5.0.js"></script>
 <script src="js/jquery-1.8.1.min.js"></script>
 <script src="js/Screenshot.js"></script>
 <script>
  document.addEventListener("deviceready",onDeviceReady,false);
  function onDeviceReady() {
   $('#screen').click(function(){
   window.plugins.screenshot.saveScreenshot();
  });
 } 
</script>

 <button id="screen">ScreenSave</button>

我做错了什么有人指导我。
谢谢

编辑


配置文件

        <?xml version="1.0" encoding="utf-8"?>
    <cordova>
      <!--
        access elements control the Android whitelist.
        Domains are assumed blocked unless set otherwise
         -->

      <access origin="http://127.0.0.1*"/>
      <!-- allow local pages -->

      <!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
      <!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
      <access origin=".*"/>

      <!-- <content src="http://mysite.com/myapp.html" /> for external pages -->
      <content src="index.html" />
      <log level="DEBUG"/>
      <preference name="useBrowserHistory" value="true" />
      <preference name="exit-on-suspend" value="false" />
      <plugins>
        <plugin name="App" value="org.apache.cordova.App"/>
        <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
        <plugin name="Device" value="org.apache.cordova.Device"/>
        <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
        <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
        <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
        <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
        <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
        <plugin name="File" value="org.apache.cordova.FileUtils"/>
        <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
        <plugin name="Notification" value="org.apache.cordova.Notification"/>
        <plugin name="Storage" value="org.apache.cordova.Storage"/>
        <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
        <plugin name="Capture" value="org.apache.cordova.Capture"/>
        <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
        <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
        <plugin name="Echo" value="org.apache.cordova.Echo" />
        <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
        <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
        <plugin name="Screenshot" value="org.apache.cordova.Screenshot"/>
      </plugins>
    </cordova>

EDIT-2
AndroidManifest.xml

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4

1 回答 1

1

这里缺少很多东西。您需要将screenshot.java文件添加到您的项目中,并在 index.html 中添加对screenshot.js的引用。此外,您还需要提供写入本地存储的权限,如此处所述

于 2013-04-12T18:35:13.773 回答