2016-04-12 59 views
0

Bir web görüntülemede bir 'p' html öğeye bazı metin eklemek için javascript işlevi denir düğmelerden birine bastığımda benim android xml düzeninde bazı düğmeler var ama bir kez genişlik p öğesi, web öğesinin ekran genişliğinden daha geniş olur, p öğesinin sonuna kaydırmak için aşağıdaki kodu çağırdım. javascript android yanlış genişlik alıyorum

window.scrollBy(document.getElementById("myp").scrollWidth,0) 

ama bunu document.getElementById ("MYP"). ScrollWidth beni yanlış genişliği oluyor ve ben genişliğini kontrol etmek console.log kullanarak kod hata ayıklama ve görünüyor ki düzgün olarak bazen bu kod çalışmıyor

bazen aynı genişlikte sıkışıyor ve p öğesine eklediğim yeni metne göre güncellenmiyor gibi görünüyor. Ayrıca $ (document) .width() kullanmayı denedim ve bazen de bana yanlış genişlik getiriyor.

M.parseMath (
function append(input){ 

    var element=$('#myp')[0]; 
    element.innerHTML="$$" + input + "$$"; 
    window.scrollBy(element.scrollWidth,0); 

     M.parseMath(element) ; 
     } 

) gayet iyi çalışıyor i matematik formülleri görüntülemek için bir jqmath kitaplığından dediğimiz bir fonksiyonudur:

bu benim javascript fonksiyonu i çağırır javascript1.js dosyasında yer olduğunu

beklenen ve hTML kodu olarak

  <html><head> 

      <link rel='stylesheet' href='mathscribe/jqmath-0.4.3.css'> 
      <link rel='stylesheet' href='mathscribe/mystyle.css'> 

      <meta name="viewport" content="width=device-width, user-  
      scalable=no" /> 
      <script src='mathscribe/jquery-1.4.3.min.js'></script> 
      <script src='mathscribe/jqmath-etc-0.4.3.min.js'></script> 



      <script src='mathscribe/javascript1.js'></script>" 
      <script src='mathscribe/jquery.js'></script>" 
      </head> 
      <body id='mybody'> 
      <p id='myp'></p> 
      </body> 
      </html> 

ve th (bir jquery ve jqmath kütüphane içerir) xml düzenini

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:weightSum="1"> 


<WebView 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:id="@+id/webView" 

    android:focusableInTouchMode="true" 
    android:layout_weight="0.5" /> 

    <Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="insert" 
    android:id="@+id/insertnewtext" 
    android:onClick="clickme" 
    android:layout_gravity="center_horizontal" /> 

    <LinearLayout/> 

edilir ve bu biçimlendirilmiş (2 boyutlu) matematiksel ifadesi için element

 WebView webView= (WebView) getActivity().findViewById(R.id.webView); 
    WebSettings mWebSettings = webView.getSettings(); 
    mWebSettings.setJavaScriptEnabled(true); 

cevap

2

M.parseMath(element)$$...$$ metin düğümü dönüştüren bir web görüntülemesini kurmak için java kodu olan genişliğini değiştirir. numarasınıM.parseMath() aramasından sonra, daha önce değil, element.scrollWidth doğru son eleman genişliği sağlayabilirsiniz.

+0

cevap için thx sanırım ben bir tarayıcıda aynı kodu denedim ve mükemmel çalışıyor gibi bir hata ya da bir şey orada android içinde webview ile ilgili olduğunu düşünüyorum. bu arada harika kütüphane – has19