javascript - मैं एक गणना शैली कैसे प्राप्त करूं?




html css (2)

क्या कोई मुझे स्क्रिप्ट के साथ मदद कर सकता है .. या मूल्य प्राप्त करने का एक तरीका

height : 1196px;
width: 284px;

गणना की शैली शीट (वेबकिट) से। मुझे पता है कि आईई अलग है - सामान्य रूप से। मैं iframe (क्रॉस डोमेन) तक नहीं पहुंच सकता- मुझे बस ऊंचाई / चौड़ाई की आवश्यकता है।

मुझे जो चाहिए वह स्क्रीनशॉट (लाल रंग में घिरा हुआ)। मैं उन गुणों का उपयोग कैसे करूं?

स्रोत

<iframe id="frameId" src="anotherdomain\brsstart.htm">
 <html id="brshtml" xmlns="http://www.w3.org/1999/xhtml">   
    \--I WANT THIS ELEMENTS COMPUTED BROWSER CSS HEIGHT/WIDTH

<head>
<title>Untitled Page</title>
</head>

<body>
 BLA BLA BLA STUFF

</body>

</html>
   \--- $('#frameId').context.lastChild.currentStyle 
        *This gets the actual original style set on the other domain which is "auto"
        *Now how to getComputed Style?


</iframe>

मुझे सबसे करीब मिला यह है

$('#frameId').context.lastChild.currentStyle

इससे मुझे HTML तत्व पर वास्तविक शैली मिलती है जो "ऑटो" है और यह सच है कि यह ifred दस्तावेज़ पर सेट है।

मैं गणना की गई शैली कैसे प्राप्त करूं जो सभी ब्राउज़र स्क्रॉल बार की गणना करने के लिए उपयोग करते हैं, और तत्वों के मानों का निरीक्षण करते हैं?

टॉमलक्स के जवाब का उपयोग करके मैंने वेबकिट के लिए स्क्रिप्ट के इस प्यारे टुकड़े को स्वीकार किया

window.getComputedStyle(document.getElementById("frameId"), null).getPropertyValue("height")

या

window.getComputedStyle(document.getElementById("frameId"), null).getPropertyCSSValue("height").cssText

परिणाम 150 पीएक्स

के समान

$('#frameId').height();

तो मैंने उन्हें सिर पर 'brshtml' की एक आईडी जोड़ने के लिए मिला - शायद यह तत्व को आसान बनाने में मेरी सहायता करेगा। वेबकिट निरीक्षण अब मुझे HTML # brshtml दिखाता है लेकिन मैं getelementbyid का उपयोग करके इसे चुन नहीं getelementbyid


यह जवाब देखें।

यह jQuery नहीं है, लेकिन फ़ायरफ़ॉक्स, ओपेरा और सफारी में आप window.getComputedStyle(element) लिए गणना की शैलियों को प्राप्त करने के लिए window.getComputedStyle(element) का उपयोग कर सकते हैं और IE में आप element.currentStyle का उपयोग कर सकते हैं। लौटाई गई वस्तुएं प्रत्येक मामले में अलग होती हैं, और मुझे यकीन नहीं है कि या तो जावास्क्रिप्ट का उपयोग करके बनाए गए तत्वों और शैलियों के साथ कितनी अच्छी तरह से काम करते हैं, लेकिन शायद वे उपयोगी होंगे।

iframe मेरे लिए लगभग 150px उच्च दिखता है। यदि इसकी सामग्री 1196 पीएक्स उच्च है (और वास्तव में, आप स्क्रीनशॉट के अनुसार html नोड की खोज कर रहे हैं) और यही वह है जिसे आप प्राप्त करना चाहते हैं, तो आपको आईफ्रेम के दस्तावेज़ के डीओएम में नेविगेट करना चाहिए और उपरोक्त तकनीक को उस पर लागू करना चाहिए ।


https://developer.mozilla.org/en-US/docs/Determining_the_dimensions_of_elements देख रहे हैं

पीएक्स में पूर्णांक चौड़ाई प्राप्त करने के लिए .clientWidth का उपयोग करें।

<div id="mydiv" style="border:1px solid red;">This is DIV contents.</div>
<button onclick="alert(
document.getElementById('mydiv').clientWidth);">
   Click me to see DIV width in px
</button>




computed-style